实验要求:
编写一个程序,将浮点数转换成人民币读法字符串,例如,将1006.333转换为壹千零陆元参角参分。
实验操作:
代码分析:
1>> 构建三个数组分别存放0~9的汉字表示、整数部分的金额单位、小数部分的金额单位。
private String[] hanArr={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
private String[] unitArr_Integer={"拾","佰","仟","万"};
private String[] unitArr_Decimal={"分","角"};
2>> 构造一个函数divide,对整数和小数进行分离,用String[]作为返回值类型。将浮点数分成整数部分和小数部分字符串,只要把double型的浮点数强制转换成long型即可得到整数部分,将double型的浮点数减去long型的整数部分即可得到浮点数的小数部分,由于只需取两位则乘以100,再用Math.round函数取整得到小数部分。
long zheng = (long) num;//强制转换,得到整数部分
long xiao = Math.round((num - zheng) * 100);//round函数,四舍五入接近整数
return new String[] { zheng + "", String.valueOf(xiao) };
3>> 构造一个函数toHanStr_Inte