2011-08-26 117 views
1

对于下面的Java代码它dispaly 0E-10作为输出爪哇BIGDECIMAL范围问题

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

0E-10是由于BigDecimal的范围值。但有没有什么办法可以像没有太多编码的输入00.0000000000一样显示。?

+0

什么是“无编码“应该是什么意思? – Jacob

+0

这是一个范围问题?你所看到的是科学记数法。 – amal

+0

好的,有什么办法可以避免这种表示法吗?,,谢谢 –

回答

1

BigDecimal#toPlainString()将给出小数部分。注意它并不确切地满足您的要求

如果运算格式,使用的DecimalFormat

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

正如阿迈勒说,你可以简单地使用BigDecimal.toPlainString():

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