gpt4 book ai didi

Java - double*int 算术显示两位小数或几个小数位

转载 作者:行者123 更新时间:2023-12-02 03:58:16 26 4
gpt4 key购买 nike

Java 新手。我正在为一个项目编写一个简单的程序。这是一个允许用户购买披萨的程序。最后有一个运行总计和一个订单摘要。我使用这些行来保留总计和小计:

switch(mainMenuAnswer) //Switch statement to get correct pricing multiplied by # of desired pizza ordered  
{
case 1:
total = total + (pizzaPrices1[otherAnswer - 1] * count);
miniTotal = pizzaPrices1[otherAnswer - 1] * count;
break;

case 2:
total = total + (pizzaPrices2[otherAnswer - 1] * count);
miniTotal = pizzaPrices2[otherAnswer - 1] * count;
break;

case 3:
total = total + (pizzaPrices3[otherAnswer - 1] * count);
miniTotal = pizzaPrices3[otherAnswer - 1] * count;
break;

case 4:
total = total + (pizzaPrices4[otherAnswer - 1] * count);
miniTotal = pizzaPrices4[otherAnswer - 1] * count;
break;

case 5:
total = total + (pizzaPrices5[otherAnswer - 1] * count);
miniTotal = pizzaPrices5[otherAnswer - 1] * count;
break;

}

Total 和 miniTotal 是从 0.0 开始的 double ,而价格采用 ##.## 格式,后跟 count(整数值)。它们正在成倍增加。

有时我会得到一个很好的答案,例如 42.35 美元(随机数),但有时我会得到:

 How many large pizzas?: 4

---------------------------------------------------------

Your current order total is $151.91

---------------------------------------------------------

Specialty Pizza Menu

1) Meat Lovers
2) BBQ Chicken
3) Hawaiian
4) Chicken-Bacon Ranch
5) Vegetarian
6) Exit Menu

Your choice?: 6

Order Summary:

Type Size Quantity Price
---------------------------------------------------------
Meat Lovers Large 5 $99.94999999999999
BBQ Chicken Large 4 $51.96

Order total: $151.91
---------------------------------------------------------

请注意,除了“价格”正下方的 double 值外,所有内容都被格式化(以防万一)为两位小数。我也可以轻松格式化它,但我不知道如何。要格式化的代码行是:

System.out.printf("%-22s %-13s %-11d %-2s \n" , typeArray[i], sizeArray[i], quantityArray[i], priceArray[i]); //Formatting

我尝试使用 %-11.2d 但它给了我一个错误。有人知道发生了什么事吗?我认为它与可变 double 和内存位有关,但是什么是好的解决方案?

注意:priceArray 是一个 STRING 数组,采用 $##.## 格式。

最佳答案

由于价格数组是字符串数组,因此您不能为其指定数字格式。将其保留为 double 组,并在最后使用 double 到 2 位十进制字符串转换。

关于Java - double*int 算术显示两位小数或几个小数位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35210984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com