将浮点型数据转化为人民币读法字符串的方法(数组实现)

代码如下:

import java.util.Arrays;


public class Num2RMB {


/**
* @param kuchensheng

*/
private String[] hanArr ={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
private String[] unitArr={"拾","佰","仟","萬","億"};
/**
* 把一个浮点型分解成整数部分和小数部分字符串
* @param num 许愿哦被分解的浮点数
* @return 分解出来的整数部分和小数部分。第一个数组元素是整数部分,第二个是小数部分
* */
private String[] divide(double num){
//将一个浮点型数组强制转化为long型,即得到它的整数部分
long zheng=(long)num;
//浮点数家去整数部分,得到小数部分,小数部分乘以100后再取整数得到2位小数
long xiao=Math.round((num-zheng)*100);
return new String[]{String.valueOf(zheng),String.valueOf(xiao)};
}
/**
* 把一个四位数的数字字符串变成汉字字符串
* @param numStr 需要被转化的四位数的数字字符串
* @return 四位的数字字符串被转化成汉字字符串
* */
private String toHanStr(String numStr){
String result="";
int numLen=numStr.length();
//依次遍历数字字符的每一位数字
for (int i = 0; i < numLen; i++) {
//把char型数字转化为int型数字,因为他们的ASCII码值恰好相差48
//因此把char型数字减去48得到int型数字,例如‘48’ 转化为48
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) {
// TODO Auto-generated method stub
Num2RMB nr=new Num2RMB();
System.out.println(Arrays.toString(nr.divide(68523698.123)));
System.out.println(nr.toHanStr("46985"));
}


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值