java float double精度为啥会丢失

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java float double精度为啥会丢失相关的知识,希望对你有一定的参考价值。

参考技术A 这个是二进制存储小数的问题,很多编程语言都存在这个问题。
二进制只能精确表示2的-n次方的整数倍小数
要精确地进行计算,请使用BigDecimal,并在计算时约束好小数位(比如精确到2位小数)。
参考技术B 因为它们的有效范围是不一样的:
float的精度范围为:6~7位

double的精度范围为:15~16位
当超过7位后,float精度自然会丢失,同理double也是(int也是)本回答被提问者采纳
参考技术C 因为float和double都是浮点型

以上是关于java float double精度为啥会丢失的主要内容,如果未能解决你的问题,请参考以下文章

java丢失精度问题

Java double和 float丢失精度问题

java里面double 做乘法和加法会丢失精度嘛?

为啥C语言中用float类型进行较大值的运算会丢失较多精度

float,double等精度丢失问题 float,double内存表示

BigDecimal精度丢失问题