Java double 相乘的小问题记录
来源:互联网 发布:知鱼怎么烧 编辑:程序博客网 时间:2024/06/05 06:29
看下面的一段代码的运行结果:
输出结果很意外的不是 53880 而是53879.99999999999
public class TestDouble { public static void main(String[] args) { double d =538.8; System.out.println(d*100);}
输出结果很意外的不是 53880 而是53879.99999999999
解决方法一:
538.8*100 用*10*10 替换,才能得到我们想要的结果
解决方法二:
public class TestDouble { public static void main(String[] args) { double d =538.8; BigDecimal a1 = new BigDecimal(Double.toString(d)); BigDecimal b1 = new BigDecimal(Double.toString(100)); BigDecimal result = a1.multiply(b1);// 相乘结果 System.out.println(result); BigDecimal one = new BigDecimal("1"); double a = result.divide(one,2,BigDecimal.ROUND_HALF_UP).doubleValue();//保留1位数 System.out.println(a); }}
0 0
- Java double 相乘的小问题记录
- Java double 相乘的小问题记录
- Java double 相乘的小问题记录
- Java double float与int相乘出错问题
- Java double常见的问题
- 求教两个double变量相乘的结果??
- java的double的精度问题
- java的double的精度问题
- java的double的精度问题
- 轮换相乘的小程序
- 关于java中double相加的问题
- java 的long转换double问题
- java中double运算的问题
- java double 计算出错的问题
- Java中double的精度问题
- java---double转int的问题
- java中double的小数点问题
- java 中double的精度问题
- 个人重构机房收费系统——配置文件
- ubuntu安装netbeans方法及解决netbeans乱码方法
- 超级楼梯
- POJ1011-Sticks
- <菜鸟学算法-Dijkstra求最短路径>
- Java double 相乘的小问题记录
- ZOJ-2883
- 购买气球
- VC-"应用程序正常初始化失败"-0xc0150002
- Python日期操作
- django notes 2
- DllMain和多线程死锁
- 今日作息及食谱(5.22)
- leetcode - Same Tree