仔细阅读这个问题,因为我不是问如何去掉尾随零,这很简单。
我想问的是为什么123d会变成“123.0”?
IEEE 64 位 float 可以准确表示从 0 到 2^52 的整数,因此这不是精度损失,而是 Double.toString() 实现过程中的决定。
我的问题是他们为什么做出这个决定?他们为什么不直接打印 123?
最佳答案
除此之外,它还可以提高表示的清晰度 - 当看似整数的值在经过简单的算术运算后突然在小数点后出现一长串数字时,用户常常会感到困惑。
关于java - 当 float 完全是整数时,为什么 float 尾部有 .0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1610068/