在进行进制转换的时候,我们需要把小数分为整数和小数两部分。
这里介绍两种方法。
- 第一种举个例子:1.23分为1 和 0.23
- 第二种:1.23 分为 1 和23
有时需要具体情况具体分析自己需要哪种类型。
第一种实现代码:
String e = "1.23";
double s = Double.valueOf(e);
int num1 = (int) s;//整数部分
BigDecimal b1 = new BigDecimal(e);/*这里e是字符串类型,具体原因请看:http://blog.csdn.net/devilzn/article/details/78113243*/
BigDecimal b2 = new BigDecimal(num1);
double num2 = b1.subtract(b2).doubleValue();//小数部分
System.out.println("整数为:"+num1);
System.out.println("小数为:"+num2);
第二种方法:
String e = "1.23";
String[] s1 = e.split("\\.");
System.out.println("整数为:"+s1[0]);
System.out.println("小数为:"+s1[1]);
是不是发现第二种方法比第一种简单呢?
两种方法在不同的场景使用不同,第一种是double,第二种是 String。
本文介绍了在进行进制转换时将浮点数分为整数部分和小数部分的两种方法。第一种方法适用于double类型,通过BigDecimal进行精确计算;第二种方法适用于字符串类型,直接通过分隔符分割。
869

被折叠的 条评论
为什么被折叠?



