java float double精度为什么会丢失

Python020

java float double精度为什么会丢失,第1张

这个是二进制存储小数的问题,很多编程语言都存在这个问题。

二进制只能精确表示2的-n次方的整数倍小数

要精确地进行计算,请使用BigDecimal,并在计算时约束好小数位(比如精确到2位小数)。

float 类型 精度只有7位有效数字double 类型 精度12-14位有效数字s=k/j会引进有效数字的截断误差。double 型,输出格式用 %lf (Long Float -- lf)