【问题标题】:Need to compute correct output需要计算正确的输出
【发布时间】:2023-02-05 02:57:19
【问题描述】:

我正在用 C# 编码

这段代码在 Main()

double rate = 0.10;
double surge = 0.25;
int phoneBill = 75;
double totalAmount = phoneBill + rate + surge;

WriteLine("New Phone Bill");
WriteLine("Your new Phone Bill is $" + totalAmount);
ReadKey();

我正在尝试通过向电话帐单添加费率和激增来计算正确的电话帐单费用,如下所示 phoneBill + rate + surge 应该等于/输出 103.13 但出于某种原因,我得到的输出是 75.35 ... 我如何修复输出以使其输出 103.13?

在 double totalAmount = phoneBill + rate + surge 中尝试了加法、乘法和除法符号;还尝试了 phonebill + (rate + surge) 和 (phonebill + rate) + surge with multiplication, addition, division symbols 但仍然没有计算 103.13.. 如何解决这个错误?

【问题讨论】:

  • 你是如何计算出 75 + 0.25 + 0.1 应该是 103.13 的?
  • 你得到 75.35 因为这是加法的工作原理。 (75 + 0.10 + 0.25 == 75.35)。如果你想要一个不同的答案,你需要一个不同的公式,可能涉及一些乘法。
  • 货币计算应使用十进制,而不是双精度。

标签: c#


【解决方案1】:

如果你想增加 25% 的附加费,那么你乘以 125%,而不是 25%。乘以 25% 实际上是 75% 的折扣。

rate 更改为 1.1,将 surge 更改为 1.25 并相乘。结果是 103.125,所以一旦你四舍五入,你就会得到正确的答案。

【讨论】:

    猜你喜欢
    • 2022-01-13
    • 1970-01-01
    • 2014-09-05
    • 1970-01-01
    • 2018-04-03
    • 1970-01-01
    • 1970-01-01
    • 2022-09-30
    • 1970-01-01
    相关资源
    最近更新 更多