簡體   English   中英

將小數點四舍五入到小數點后兩位

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM