Java如何实现精度控制?

jinggangshi 2016-12-12 05:09:04

Double db = new Double("1.5111");
int i = (int)db.doubleValue();
Double di= new Double(i);
double f = db.doubleValue() - i;
System.out.println("i:"+i);
System.out.println("f:"+f);


如上述代码,想实现攻取双精度数的小数部分,但得到的结果却有精度的偏差。
问:如何攻取双精度数据的小数部分?
注意:不想通过字符转换的方式取得。
...全文
451 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinggangshi 2017-07-26
  • 打赏
  • 举报
回复
由于工作原因,好久没有上来,结贴迟了,抱歉!
linkedin_37019726 2016-12-13
  • 打赏
  • 举报
回复
楼上给了
CSDNRGY 2016-12-13
  • 打赏
  • 举报
回复
java中涉及到精度计算的地方,需要用到BigDecimal这个类 加减乘除如下: add(BigDecimal augend) subtract(BigDecimal subtrahend) multiply(BigDecimal multiplicand) divide(BigDecimal divisor)
Inhibitory 2016-12-12
  • 打赏
  • 举报
回复
public BigDecimal setScale(int newScale) 看这个

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧