Java Bigdecimal范围问题

时间:2011-08-26 06:34:05

标签: java bigdecimal

对于以下java代码,它显示0E-10作为输出

 BigDecimal bd = new BigDecimal("00.0000000000");
 System.out.println(bd); // output is 0E-10

0E-10归因于Bigdecimal的范围值。但有没有什么方法可以显示像输入00.0000000000没有太多编码。?

2 个答案:

答案 0 :(得分:1)

BigDecimal#toPlainString()将给出小数部分。请注意,它并不完全满足您的要求

如果您格式化了op,请使用DecimalFormat

答案 1 :(得分:1)

BigDecimal bd = new BigDecimal("00.0000000000");
System.out.println(bd.toPlainString()); // output = 0.0000000000

如amal所述,您只需使用BigDecimal.toPlainString():

public String toPlainString()
   Returns a string representation of this BigDecimal without an exponent field