清一色 我有一个应用程序,用户输入数据,如晚餐账单的费用和小费百分比和人数。应用程序比数字和输出总帐单成本和每个人必须支付的金额。我几乎在那里,但当用户输入不能正常工作的数字时,我得到的输出如$ 23.576或$ 34.999999999。我的问题是如何使应用程序围绕两个小数位的两个输出答案(55.349美元到55.35美元)? 提前致谢!
答案 0 :(得分:3)
String roundTwoDecimals(double d) {
DecimalFormat formatter = new DecimalFormat("#.##");
return formatter.format(d);
}
答案 1 :(得分:1)
你可以这样使用Math.round
:
double data = 55.349; // Your data value of whatever
int decimalPlaces = 2;
double roundBase = Math.pow(10, decimalPlaces);
data = (double)(Math.round(data * roundBase)) / roundBase;
System.out.println(data); // Prints "55.35"
但请记住:在财务应用程序方面,您不应该使用double。由于您的规模似乎很小,但您应该没问题,但BigDecimal
更容易用于此类目的。
如何使用BigDecimal:clicky。