将计算正确返回到2位小数

时间:2014-02-21 17:42:50

标签: java

我希望将此结果返回到2位小数 即价格= 4.35 即weightGrams = 233

public double pricePerHundredGrams()
{
   return (price * 100) / weightGrams; 
} 

我希望计算结果返回1.86而不是1.86695279 ....

3 个答案:

答案 0 :(得分:3)

创建一个DecimalFormat对象,并传入模式以将double解析为String,将值表示为2 d.p。

示例

DecimalFormat decFormat = new DecimalFormat("#.##");

double val = 1.456;

String formatted = decFormat.format(val);

System.out.println(formatted);

// outputs 1.45

答案 1 :(得分:1)

使用String#format

double val=1.456;
String s= String.format( "%.2f", val );
System.out.print(s);

答案 2 :(得分:0)

粗糙但快速的方式:

double result = (price * 100) / weightGrams; 
return ((int) (result * 100)) / 100.0;