在java中格式化2个小数位

时间:2012-10-02 02:47:00

标签: java decimal

这是我的例子:

double num = 0;

num = 4/3;


System.out.println(num);

我的输出是1.0而不是1.3

有什么建议吗?

4 个答案:

答案 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);