2013-06-19 45 views
0

我有一个问题,我正在得到这样的值。 "0.5"1.0删除/截断零的舍入数

BigDecimal bd = new BigDecimal(d).setScale(1, RoundingMode.HALF_EVEN); 
d = bd.doubleValue(); 

如果我得到的值作为0.5时,我需要显示,因为它是。但是当我变得1.0时,我需要将它显示为1 instead of 1.0。如果我改变我的setScale(0),我会得到0而不是0.5。

DecimalFormat df = new DecimalFormat("#.0"); 
df.format(0.912385); 

我用十进制格式尝试过为sa,E

回答

5

调整模式,使其小数点后抑制非显著数字

DecimalFormat df = new DecimalFormat("#.#"); 
+0

HAA ..你打我...... +1 :) –

0

使用:

myBiDecimal.stripTrailingZeros() 

但是,要小心,这会变成101e+1

0
if(a % 1 != 0) System.out.println("Is a decimal" + yournumber) 
else System.out.Println("Is not a decimal" + (int) yournumber)