(编程题)把一个浮点数分解成整数部分和小数部分,把一个四位的数字字符串变成汉字字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(编程题)把一个浮点数分解成整数部分和小数部分,把一个四位的数字字符串变成汉字字符串相关的知识,希望对你有一定的参考价值。

技术分享
 1 import java.util.*;
 2 public class Num2Rmb{
 3     private String[]hanArr = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
 4     private String[]unitArr={"十","百","千"};
 5     /**
 6     *把一个浮点数分解成整数部分和小数部分字符串
 7     *@param num· 需要被分解的浮点数
 8     *@return 分解出来的整数部分和小数部分。第一个数组元素是整数部分,第二个数组元素是小数部分
 9     */
10     private String[] divide(double num){
11         //将一个浮点数类型转换为long 型,即可得到它的整数部分
12         long zheng = (long)num;
13         //浮点数减去整数部分,得到小数部分,小数部分乘以100后再取整得到2位小数
14         long xiao = Math.round((num-zheng)*100);
15         //下面用了2种方法把整数转换成字符串
16         return new String[]{zheng+" ",String.valueOf(xiao)};
17     }
18     /**
19     *把一个四位的数字字符串变成汉字字符串
20     *@param numStr 需要被转换的四位的数字字符串
21     *@return 四位的数字字符串被转换成汉字字符串
22     */
23     private String toHanStr(String numStr){
24         String result = " ";
25         int numLen = numStr.length();
26         //依次遍历数字字符串的每一位数字
27         for(int i = 0;i<numLen;i++){
28             //把char型数字转换成int型数字,因为他们的ASCII码值恰好相差48
29             //因此把char型数字减去48得到int型数字,例如‘4‘被转换成4
30             int num = numStr.charAt(i)-48;
31             //如果不是最后一位数字,而且数字不是零,则需要添加单位(千,百,十)
32             if(i!=numLen-1 && num!=0){
33                 result += hanArr[num]+unitArr[numLen-2-i];
34             }
35             //否则不要添加单位
36             else{
37                 result += hanArr[num];
38             }
39         }
40         return result;
41     }
42     public static void main(String[]args){
43         Num2Rmb nr = new Num2Rmb();
44         //测试把一个浮点数分解成整数部分和小数部分
45         System.out.println(Arrays.toString(nr.divide(236711125.123)));
46         //测试把一个四位的数字字符串变成汉字字符串
47         System.out.println(nr.toHanStr("6109"));
48     }
49 }
View Code

 

以上是关于(编程题)把一个浮点数分解成整数部分和小数部分,把一个四位的数字字符串变成汉字字符串的主要内容,如果未能解决你的问题,请参考以下文章

计算机组成原理——浮点数表示方法

java中的小数,如何分别输出整数部分和小数部分?

解决JavaScript浮点数计算精度问题

cuda求小数的整数部分

C语言中显示小数部分

js实现整数和小数分开并添加不同的样式