金種計算をJavaScriptで作った
業務で作ったものです。
金種計算って何?
金額に対して貨幣や紙幣をそれぞれ何枚使うかを出す計算です。額の大きな貨幣から順に使用していくようにしています。例えば、12345 円なら貨幣と紙幣をそれぞれ何枚使いますか? この結果になります 👇
金額: 12345円
10000円: 1枚
5000円: 0枚
1000円: 2枚
500円: 0枚
100円: 3枚
50円: 0枚
10円: 4枚
1円: 1枚
ソースコード
function calculateDenominations(amount) {
const denominations = [10000, 5000, 1000, 500, 100, 50, 10, 1] // 貨幣・紙幣
const result = {}
for (let i = 0; i < denominations.length; i++) {
const denomination = denominations[i]
const count = Math.floor(amount / denomination)
result[denomination] = count
amount -= denomination * count
}
return result
}
// 例: 12345円を入力した場合
const amount = 12345 // 必要に応じて入力欄などから取得する。
const result = calculateDenominations(amount)
console.log(`金額: ${amount}円`)
for (let denomination in result) {
console.log(`${denomination}円: ${result[denomination]}枚`)
}
使いどころ
業務では、税金関連の表の出力のために作りました。表にする都合上、結果が 0 枚のものも出力するようにしています。また、業務では印紙の枚数を出したのですが、わかりにくいのでこの記事では貨幣にしました。
お役に立てれば幸いです 💕