内部表示形式在2和2.00之间没有差异。您可以使用
Math.round四舍五入的值到最接近的整数-
使该轮为2位小数,你可以乘100,圆形,再除以100,但你不应该期望的结果是 准确 2DPS,由于二进制浮点运算的性质。
如果您只想将值 格式化
为两位小数,请查看
DecimalFormat-如果您对
计算中
的小数位数感兴趣,那么您实际上应该使用
BigDecimal。这样,您将知道自己实际上是在处理十进制数字,而不是“最接近的可用
double值”。
如果您 始终要 处理两个小数位,您可能要考虑的另一种选择是将值存储为a
long或
BigInteger,知道它正好是“实际”值的100倍-例如,有效地存储美分而不是美元。



