我是新手,并试图坚持这里的基本概念。如何限制从另一个类的返回中提取的答案中的小数?我不确定如何以价格格式000.00写a.calculateTuition
。我找不到使用DecimalFormat类的好方法,而Math.round()
对于价格来说不够准确。提前谢谢!
来自班级:
public double creditHours;
public double calculateTuition(){
double totalCost=0;
double costPerHour=124.04;
totalCost = creditHours * costPerHour;
return totalCost;
}
来自Main:
Student a=new Student();
a.setHours(3);
System.out.println("Cost is " + a.calculateTuition());
答案 0 :(得分:0)
通常认为最佳做法是使用BigDecimal
与货币/货币相关的计算,因为它提供了精确度。
如果你决定使用BigDecimal,它也有.setScale()和你可能会觉得有用的许多其他有用的方法。
答案 1 :(得分:0)
您可以使用以下实用程序来舍入所需的小数位数, public static double round(double value,int places){ if(places< 0)抛出新的IllegalArgumentException();
long factor = (long) Math.pow(10, places);
value = value * factor;
long tmp = Math.round(value);
return (double) tmp / factor;
}