java - 当 float 完全是整数时,为什么 float 尾部有 .0?

标签 java string floating-point

仔细阅读这个问题,因为我不是问如何去掉尾随零,这很简单。

我想问的是为什么123d会变成“123.0”?

IEEE 64 位 float 可以准确表示从 0 到 2^52 的整数,因此这不是精度损失,而是 Double.toString() 实现过程中的决定。

我的问题是他们为什么做出这个决定?他们为什么不直接打印 123?

最佳答案

除此之外,它还可以提高表示的清晰度 - 当看似整数的值在经过简单的算术运算后突然在小数点后出现一长串数字时,用户常常会感到困惑。

关于java - 当 float 完全是整数时,为什么 float 尾部有 .0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1610068/

相关文章:

java - 编译错误 - 有人可以纠正我吗?

java.lang.ClassCastException : java. lang.Float 无法转换为 java.lang.String

java - 检查数组元素的条件

Python Serial Read 返回奇怪的值

language-agnostic - 如何显示 float 或 double 的二进制表示形式?

java - 在 Java 中执行计算给出了完全错误的答案

java - 在Java中获取两个不同字符串之间的共同值

javascript - 替换字符串的每个备用空格

floating-point - 计算中点

objective-c - iOS 圆形 float