当我这样做时
double money = 2.3452;
DecimalFormat decFor = new DecimalFormat("0.00");
System.out.println(decFor.format(money));
但是当我这样做时
double money = 1/8;
DecimalFormat decFor = new DecimalFormat("0.00");
System.out.println(decFor.format(money));
我得到:0.00
如何让Java向您显示0.12而不是0.00?
答案 0 :(得分:2)
这样做:
double money = 1.0 / 8;
问题在于你取整数,1并将其除以整数,8。然后Java使用整数数学,截断为0.如果你明确使用1.0,那么它将使用浮点除法。
答案 1 :(得分:0)
你需要施展加倍。在整数除法中,结果的小数部分被丢弃。
double money = (double)1/8;
DecimalFormat decFor = new DecimalFormat("0.00");
System.out.println(decFor.format(money));