我有一个问题,我得到这样的价值观。 "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
答案 0 :(得分:5)
调整模式,使其抑制小数点后的无有效数字
DecimalFormat df = new DecimalFormat("#.#");
答案 1 :(得分:3)
你可以DecimalFormat(String pattern);
DecimalFormat df = new DecimalFormat("#.#");
df.format(0.912385);
答案 2 :(得分:0)
使用:
myBiDecimal.stripTrailingZeros()
但请注意,这会将10
变为1e+1
答案 3 :(得分:0)
if(a % 1 != 0) System.out.println("Is a decimal" + yournumber)
else System.out.Println("Is not a decimal" + (int) yournumber)