[英]Round decimal to the second decimal place
好的,如何将小数点后舍入到小数点后两位,而不仅仅是小数点后一位? 我必须创建一个菜单,“顾客”要在那里订购食物,我们必须包括小计,税金和小费。 我的代码可以正常工作,除非总计应该是3.8美元,而总计应该是3.80美元。 如何仅使用Math.round()解决此问题? 我的菜单中的钱部分代码是
double SUBtotal = subTotal * 100.00;
System.out.println("Your current total is: $" +
Math.round(SUBtotal)/100.00);
System.out.println("Options:");
System.out.println(" 1. Order another item");
System.out.println(" 2. Checkout");
mainOp = scan.nextInt();
if (mainOp==2)
{
System.out.println(Order);
double tax = subTotal * 0.0825;
double taxSubtotal = tax + subTotal;
double please = taxSubtotal * 100.00;
double taxSubtotal2 = Math.round(please) / 100.00;
System.out.println("\nSubtotal (with tax): $ " + taxSubtotal2);
System.out.println("Tip: $");
double tip = scan.nextDouble();
double total = taxSubtotal + tip;
double total2 = total * 100.00;
double total3 = Math.round(total2) /100.00;
System.out.println("Final Total: $" + total3);
System.out.println();
System.out.println("Thank You For Ordering!");
}
非常感谢你!
这是一个使用DecimalFormat解决问题的小代码段。
DecimalFormat decimalFormat = new DecimalFormat("#0.00");
System.out.println(decimalFormat.format(total3));
这会将您的十进制值打印为附加两个小数位的字符串。 此外,您可以声明一个decimalFormat变量,并在整个代码中使用它,无论您要显示小数点后两位。
谢谢
如果要3.80而不是3.8,请在总计后使用以下代码。 字符串就是你想要的。
DecimalFormat f =新的DecimalFormat(“ ##。00”);
String d = f.format(taxSubtotal2);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.