这是我的例子:
double num = 0;
num = 4/3;
System.out.println(num);
我的输出是1.0而不是1.3
有什么建议吗?
答案 0 :(得分:6)
不要进行int除法,因为这总是会导致截断的int。相反,你的部门至少使用一个双倍值。
double num = 4.0/3.0;
然后,当您想要将其显示为String时,请格式化输出,以便您可以选择小数位:
// one way to do it
// %.3f is for a floating number with 3 digits to the right of the decimal
// %n is for new line
System.out.printf(%.3f%n, num);
Another:
DecimalFormat decimalFormat = new DecimalFormat("0.000");
System.out.println(decimalFormat.format(num));
答案 1 :(得分:1)
写
num=(double)4/3;
它将返回 1.3333
....
然后你可以四舍五入小数
答案 2 :(得分:0)
您还应该使用String.format(%1.2f,yourDouble)来设置小数位的格式
答案 3 :(得分:0)
试试这个..
double value= 255.956666;
BigDecimal bd = new BigDecimal(value).setScale(2, RoundingMode.HALF_UP);
System.out.println("value="+bd);