package util;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.util.List;
/**
* 金融类转换
* @author Administrator
*
*/
public class TradePortalUtil {
/***
* 将list转为数组
*
* @param list
* @return
*/
public static String[] ListToArray(List<String> list) {
String[] array = new String[list.size()];
list.toArray(array);
return array;
}
/**
* 处理金额,保留两位小数,并且整数位每三位用逗号分开
*
* @param money
* @return
*/
public static String splitMoney(double money) {
DecimalFormat df = new DecimalFormat("###,###,###.##");
df.applyPattern("#,##0.00#");
double rtnVal = Double.parseDouble(String.valueOf(money));
return df.format(rtnVal);
}
/**
* 还原金额
*
* @param money
* @return
* @throws ParseException
*/
public static double restoreMoney(String money) throws ParseException {
DecimalFormat df = new DecimalFormat("###,###,###.##");
return df.parse(money).doubleValue();
}
/**
* 金额元转分
* @see 注意:该方法可处理贰仟万以内的金额,且若有小数位,则不限小数位的长度
* @see 注意:如果你的金额达到了贰仟万以上,则不推荐使用该方法,否则计算出来的结果会令人大吃一惊
* @param amount 金额的元进制字符串
* @return String 金额的分进制字符串
*/
public static String moneyYuanToFen(String amount){
if(isEmpty(amount)){
return amount;
}
//传入的金额字符串代表的是一个整数
if(-1 == amount.indexOf(".")){
return Integer.parseInt(amount) * 100 + "";
}
//传入的金额字符串里面含小数点-->取小数点前面的字符串,并将之转换成单位为分的整数表示
int money_fen = Integer.parseInt(amount.substring(0, amount.indexOf("."))) * 100;
//取到小数点后面的字符串
String pointBehind = (amount.substring(amount.indexOf(".") + 1));
//amount=12.3
if(pointBehind.length() == 1){
return money_fen + Integer.parseInt(pointBehind)*10 + "";
}
//小数点后面的第一位字符串的整数表示
int pointString_1 = Integer.parseInt(pointBehind.substring(0, 1));
//小数点后面的第二位字符串的整数表示
int pointString_2 = Integer.parseInt(pointBehind.substring(1, 2));
//amount==12.03,amount=12.00,amount=12.30
if(pointString_1 == 0){
return money_fen + pointString_2 + "";
}else{
return money_fen + pointString_1*10 + pointString_2 + "";
}
}
/**
* 判断输入的字符串参数是否为空
* @return boolean 空则返回true,非空则flase
*/
public static boolean isEmpty(String input) {
return null==input || 0==input.length() || 0==input.replaceAll("\\s", "").length();
}
/**
* 金额分转元
* @see 注意:如果传入的参数中含小数点,则直接原样返回
* @see 该方法返回的金额字符串格式为<code>00.00</code>,其整数位有且至少有一个,小数位有且长度固定为2
* @param amount 金额的分进制字符串
* @return String 金额的元进制字符串
*/
public static String moneyFenToYuan(String amount){
if(isEmpty(amount)){
return amount;
}
if(amount.indexOf(".") > -1){
return amount;
}
if(amount.length() == 1){
return "0.0" + amount;
}else if(amount.length() == 2){
return "0." + amount;
}else{
return amount.substring(0, amount.length()-2) + "." + amount.substring(amount.length()-2);
}
}
}
分享到:
相关推荐
【大写金额转换器】是一种实用工具,专为金融、会计和商业领域的用户设计,能够将数字金额转换成中文大写形式。在处理财务文件、合同或者发票时,按照中国的传统,金额通常需要以中文大写来表示,以增强文档的清晰度...
2. **人民币大写金额转换**:在金融和会计领域,为了防止篡改和增强账目的清晰度,通常会将数字金额用汉字大写表示。例如,数字"1234.56"会被转换成"壹仟贰佰叁拾肆元伍角陆分"。这个DLL库提供了这样的转换功能,...
【标题】"金额转换程序Java"的实现是一个基础但实用的编程示例,它主要针对的是将数字金额转换为中文大写的表示方式。在金融、会计等领域,中文大写金额的表示是常见的需求,用于避免数字混淆,提高账目核对的准确性...
本项目“delphi金额转换(有报音功能)”是利用Delphi平台设计的一个实用工具,它专注于金融领域中的一项重要任务:将小写的数字金额转换为规范的大写汉字表示,并且具有语音播报的功能,这在财务操作、银行系统或零售...
在编程领域,人民币金额转换是一项常见的任务,尤其是在财务软件或者电子商务系统中。这个"人民币金额转换源代码"可能包含了处理这种转换的高效算法和最佳实践。让我们深入探讨一下相关知识点。 首先,人民币金额的...
在这个场景下,"工具类"可能包含一个或多个静态方法,用于将数字金额转换为中文文字表示。例如,我们可以创建一个名为`MoneyFormat`的工具类,其中包含一个名为`toChinese`的方法,该方法接受一个数字作为输入,返回...
这个“非常实用的人民币金额转换”工具就是这样一个高效、便捷的解决方案,专为处理人民币金额转换的需求而设计。它可以帮助用户轻松地进行人民币与其他货币之间的换算,极大地提高了工作效率。 在描述中提到,该...
在C#编程中,将商品金额的阿拉伯数字转换为汉字大写形式,是...了解以上知识点后,你可以编写一个C#函数,实现将输入的阿拉伯数字金额转换为汉字大写。记得在实现过程中充分考虑各种情况,以保证转换的准确性和可靠性。
关于金额转换成大写,这是一个额外的功能,用于满足金融交易中对金额表示的规范性要求。在Java中,可以编写一个辅助方法,将数字转换为中文大写的表示,例如“壹”、“贰”等。这个过程可能涉及到字符串处理和数字...
金额大小写转换在金融领域应用非常广泛,许多票据都是使用大写数字填写的,这里在实现金额大小写转换时,首先定义一个大写金额的数组,然后通过string类的Substring方法截取小写金额的每一位数字,在大写金额的数组...
同时,考虑到金额转换的特殊性,如“10”应该转换成“拾”,而不是“壹零”,需要在特定情况下进行合并处理。此外,还要处理诸如“123.45”这样的小数,确保整数部分和小数部分都能正确转换。 在实现这个功能时,...
总之,"金额转换方法"这个主题涵盖了数字到中文大写和国际通用逗号分隔格式的转化,这些转换在金融软件开发中非常关键。`AmountOption.cs`文件很可能是实现这些功能的代码载体,通过精心设计的函数或类来确保金额的...
在IT行业中,尤其是在财务软件开发或者金融系统的编程中,将数字金额转换为中文大写是一种常见的需求。这有助于避免因数字书写错误导致的财务纠纷,因为中文大写的金额更不容易被篡改。在这个场景中,"MoneyFormat" ...
这通常涉及到金融类应用或者财务报表的展示,确保数字格式规范、清晰且符合财务标准。在本例中,"关于金额大,小写转换的问题" 提到了一个具体的挑战,即如何使用JavaScript(JS)来处理这一转换。下面我们将深入探讨...
此外,还有特殊字符如“元”、“整”等在金额转换中也常出现,代表货币单位。 在Java编程中,实现这个功能通常会涉及到以下几个步骤: 1. **定义字符映射表**:创建一个Map或数组,将小写数字('0'-'9')映射到...
本示例主要介绍如何将阿拉伯数字的支票金额转换为中文大写,这通常被称为"支票金额大写转换"或"金额大写转换器"。 在Java编程中,我们可以创建一个工具类来实现这个功能。例如,给出的代码片段展示了这样一个工具类...
在金融系统、会计软件以及银行应用程序中,经常需要将阿拉伯数字表示的金额转换成汉字大写形式,以确保正式文档(例如支票、发票等)中的金额不易被篡改。C# 提供了丰富的编程接口来实现这一需求。本文将基于提供的...
本示例中的C#代码提供了一个解决方案,允许开发者将数字金额转换为标准的中文大写格式。 在C#中,这个功能通常通过自定义方法实现,该方法接收一个数字作为输入,然后将其转换为相应的中文大写文字表示。以下是一些...
这个功能对于财务软件或者银行系统等金融相关的应用尤为实用,因为它可以确保用户输入的金额符合标准格式,减少人为错误。 首先,我们需要理解数字转大写人民币金额的规则。人民币大写金额的表示法包括:零(零)、...