/* 把一个四位数字符串转换成一个中文读法
*
* 把一个浮点数拆分,小数部分保留两位数
*
*
*
* */
package com.yangyang.array;
import java.util.Arrays;
public class Num2Rmb {
private String[] hanArr = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌",
"玖" };
private String[] unitArr = { "拾", "佰", "仟" };
/*
* 把一个浮点数分解成整数部分和小数部分
*/
private String[] divide(double num) {
// 将一个浮点数强制转换为long,得到整数部分
long zheng = (long) num;
// 浮点数减去整数部分,得到小数部分,小数部分乘以100后再取整的到两位小数
long xiao = Math.round((num - zheng) * 100);
return new String[] { zheng + "", String.valueOf(xiao) };// 返回的是数组的地址
}
private String toHanStr(String numStr) {
String result = "";
int numLen = numStr.length();
for (int i = 0; i < numLen; i++) { // 对字符串包含的每个字符进行遍历转换成相应的数字
int num = numStr.charAt(i) - 48;
if (i != numLen - 1 && num != 0) {
result += hanArr[num] + unitArr[numLen - 2 - i];
} else {
result += hanArr[num];
}
}
return result;
}
public static void main(String[] args)
{
Num2Rmb nr=new Num2Rmb();
System.out.println(Arrays.toString(nr.divide(236711125.123)));
System.out.println(nr.toHanStr("6109"));
}
}
数字字符串转换成中文读法,浮点数拆分,小数部分保留两位数
最新推荐文章于 2023-04-07 19:59:57 发布