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