gpt4 book ai didi

c# - 在 C# 中制作公式以将美元金额转换为面额

转载 作者:太空宇宙 更新时间:2023-11-03 16:58:58 24 4
gpt4 key购买 nike

我正在编写一个程序,将任何输入金额转换为二十、十、五和个的面额。这是我遇到的问题:

int twenties = dollar/20;
int tens = twenties/2;
int fives = tens/2;
int ones = fives/5;

Dollar 是输入的金额,twenties 的表达式似乎是唯一正确的。例如:我输入 161,结果 161 等于 8 个二十、4 个十、2 个五和 0 个个。但它应该出来,因为 161 等于 8 个二十、0 个十、0 个五和 1 个。我知道对此有一个非常简单的答案,但我就是不明白,谢谢大家。

最佳答案

删除这些面额后,您需要处理其余部分。获得余数的最简单方法是 modulus operator ,像这样...

int dollar = 161;
int twenties = dollar / 20;
int remainder = dollar % 20;
int tens = remainder / 10;
remainder = remainder % 10;
int fives = remainder / 5;
remainder = remainder % 5;
int ones = remainder;

以上做法并没有修改原来的金额。通过将其重构为一种方法,可以更轻松地重用不同的面额:

public int RemoveDenomination(int denomination, ref int amount)
{
int howMany = amount / denomination;
amount = amount % denomination;
return howMany;
}

...你可以这样使用...

int dollar = 161;
int hundreds = RemoveDenomination(100, ref dollar);
int fifties = RemoveDenomination(50, ref dollar);
int twenties = RemoveDenomination(20, ref dollar);
int tens = RemoveDenomination(10, ref dollar);
int fives = RemoveDenomination(5, ref dollar);
int ones = dollar;

这种方法确实修改了dollar 值。因此,如果您不想更改它,请在另一个变量中复制它,然后处理该副本。

关于c# - 在 C# 中制作公式以将美元金额转换为面额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52306778/

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