当前位置: 首页 > 知识库问答 >
问题:

小数到小数第二位的整数

葛哲彦
2023-03-14

好的,我如何将小数点四舍五入到第二位而不是第一位?我必须创建一个菜单,让“顾客”点餐,我们必须包括小计、税费和小费。我的代码运行得很好,除非总数大约是3.8美元,而它应该是3.80美元。我怎样才能只用数学来解决这个问题呢。圆形()?我菜单上的钱代码是

    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!");


    }

非常感谢你!

共有2个答案

郭翰墨
2023-03-14

如果你想要3.80而不是3.8,在得到总数后使用下面的代码。这就是你想要的。

DecimalFormatf=new DecimalFormatf("##.00");

String d = f.format(taxSubtotal2);
温镜
2023-03-14

下面是一个使用DecimalFormats解决问题的小代码片段。

DecimalFormat decimalFormat = new DecimalFormat("#0.00");
System.out.println(decimalFormat.format(total3));

这将把你的十进制值打印成一个附加了两位小数的字符串。此外,您可以声明一个decimalFormat变量,并在代码中的任何地方使用它,无论您想在哪里显示2位小数。

谢谢

 类似资料:
  • 问题内容: 我们需要在分配中递归地找到一个数组中的第二个最小整数。但是,为了更好地理解该主题,我想先通过本网站进行迭代,然后自己进行递归。 不幸的是,迭代地进行相当混乱。我知道该解决方案很简单,但我无法解决。 到目前为止,以下是我的代码: 这适用于一些数字,但不是全部。数字会变化,因为内部if条件的效率不如外部if条件的效率。 禁止阵列重排。 问题答案: 试试这个。当最小的数字是第一个时,第二个条

  • 问题内容: 我似乎在使用浮点数时失去了很多精度。 例如,我需要求解一个矩阵: 这是我用来从文本文件导入矩阵的代码: 我需要使用gauss-seidel进行求解,因此需要重新排列x,y和z的方程式: 这是我用来重新排列方程式的代码。是系数矩阵,是答案向量: 但是,我得到的答案并不精确到小数位。 例如,从上面重新排列第二个方程式后,我应该得到: 我得到的是: 这看起来似乎不是一个大问题,但是当您将数字

  • 问题内容: w3resources的挑战之一是将pi打印到“ n”个小数位。这是我的代码: 无论出于何种原因,它都会自动打印pi,而无需考虑任何输入。任何帮助将是巨大的:) 问题答案: 为什么不只使用: 更一般地说: 在您的原始方法中,我想您正在尝试使用多个数字作为循环的控制变量,这很容易理解,但在您的情况下不起作用,因为从未使用过用户输入的首字母。而是由字符串中的iteratee值代替。

  • 我想把54.5345四舍五入到54.54,也就是说,如果我有第三个小数位,那么我想在第二个小数位上加1。 我试过用math.round但如果第三小数小于5,它总是四舍五入

  • 下面的代码给了我大约14位小数。我怎样才能把它修剪到小数点后2位?

  • 这是我目前得到的 它告诉我小数点后有6位,因为它把“000”放在末尾。 我怎么解决这个? 尼克拉斯