Double
没有任何维护微不足道的数字的概念。
问题不在于您使用的Double
(or ) 值 - 而是您如何将其转换回字符串。您应该使用 a来指定适当的小数位数。double
DecimalFormat
另请注意,您当前正在使用Double.parseDouble
which 返回 a double
,但您将其分配给一个Double
变量,该变量会将值装箱 - 可能是不必要的。
示例代码:
import java.text.DecimalFormat;
public class Test {
public static void main(String[] args) {
String text = "500.00";
double number = Double.parseDouble(text);
DecimalFormat format = new DecimalFormat("0.00");
String formatted = format.format(number);
System.out.println(formatted);
}
}
请注意,即使有更多数字可用,上面的代码也会给您两位小数。
此外,如果确切的十进制数字对您很重要,您可能需要考虑使用BigDecimal
而不是double
. 如果您的值实际上代表货币,这一点尤其重要。您应该了解浮点二进制点类型(例如double
)和浮点小数点类型(例如)之间的区别,BigDecimal
并在它们之间进行适当的选择。