所以我需要知道如何将一定数量的钱分成各种钞票和铸币的实际数量。我知道这很令人困惑,所以让我举个例子:
$16.32 - Sixteen dollars and thirty-two cents
One $10 bill
One $5 bill
One $1 bill
One Quarter ($0.25)
One Nickel ($0.05)
Two Pennies ($0.01)
正如你所看到的,我们只是得到了进入一个价值的钞票和硬币的数量,这将根据用户输入而改变。
这是我当前的设置(Visual Basic):
If 100 Mod amount < 0 Then
If 50 Mod amount < 0 Then
' Continue this pattern until you get all the way down to the end ($0.01)
Else
While amount > 50
fiftiesAmount += 1
amount -= 50
End If
Else
While amount > 100
hundredsAmount += 1
amount -= 100
End If
基本上,每条If
语句都会确定您的总金额是否需要该类型的额外计费金额,然后要么添加到已经创建的钞票/硬币金额,要么继续下一个金额。
这是一种有效的做事方式,还是我错过了一种更简单/更快的算法/模式,这将使我的生活变得更轻松,谁正在阅读我的代码?如果您需要更多详细信息,我很乐意根据需要编辑问题。