import java.math.RoundingMode;
import java.text.NumberFormat;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Test
{
public static void main(String[] arg)
{
show();
}
private static void show()
{
Scanner sc = new Scanner(System.in);
String num = sc.next();
System.out.println(big(chineseNumber2Int(num)));
show();
}
private static String big(double d) {
NumberFormat nf = NumberFormat.getInstance();
// 是否以逗号隔开, 默认true以逗号隔开,如[123,456,789.128]
nf.setGroupingUsed(true);
//设置小数位数
nf.setMaximumFractionDigits(5);
nf.setRoundingMode(RoundingMode.UP);
// 结果未做任何处理
return nf.format(d);
}
/**
* @param chineseNumber
* @return
*/
private static double chineseNumber2Int(String chineseNumber){
double result = 0;
char[] cnArr = new char[]{'一','二','三','四','五','六','七','八','九'};
char[] chArr = new char[]{'亿','万','千','百','十'};
int start = 0;//数字的起点
int end = 0;//数字断点
int integerLen = chineseNumber.length();
boolean hasMinus = false;
boolean hasPoint = false;//判断是否是小数
boolean hasLast = false;//判断是否有个位数
//数字分段(通过从大到小分割)
Map<Character,String> mapNum = new HashMap<>();
if (chineseNumber
关于java中文数字转换阿拉伯数字
最新推荐文章于 2024-09-02 19:18:25 发布
该博客介绍了如何将中文数字转换为阿拉伯数字的方法。针对整数部分,通过拆分数字并乘以相应单位的位数来计算;小数部分则通过字符串拼接实现。最终将转换结果转换为double型,结合正负数判断完成整个转换过程。
摘要由CSDN通过智能技术生成