Javascript
(正確にはECMAScript
か?)に組み込みで国際化APIが用意されています。
その中のIntl.NumberFormat
というのがあり、Intl.NumberFormat
で整形方法を決め、format
メソッドで実行できます。
整形方法として3桁区切りや、他に通貨記号を出したりとかもできます。
以下のドキュメントに使い方やサンプルが記載されているのでいろいろ触ってみてください。
0Like
給与計算ツールを作成しております。
給与詳細を入力すると合計値が変動し、3桁区切りで表示できるようにしたいです。
現状給与詳細カラムの4桁目を入力するとエラーとなってしまいNaNが出る状況です。
教えていただきたいです。
NaN
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
### 該当するソースコード
<script>
const calc = ()=>{
const input1 = document.querySelector("input[name=basic]");
const input2 = document.querySelector("input[name=overtime]");
const input3 = document.querySelector("input[name=position]");
const input4 = document.querySelector("input[name=family]");
const input5 = document.querySelector("input[name=adjust]");
const input6 = document.querySelector("input[name=commission]");
const input7 = document.querySelector("input[name=hourly]");
const result = document.querySelector("input[name=salary]");
result.value = (Number(input1.value) + Number(input2.value) + Number(input3.value) + Number(input4.value) + Number(input5.value) + Number(input6.value) + Number(input7.value));
}
</script>
ここに問題・エラーに対して試したことを記載してください。
Javascript
(正確にはECMAScript
か?)に組み込みで国際化APIが用意されています。
その中のIntl.NumberFormat
というのがあり、Intl.NumberFormat
で整形方法を決め、format
メソッドで実行できます。
整形方法として3桁区切りや、他に通貨記号を出したりとかもできます。
以下のドキュメントに使い方やサンプルが記載されているのでいろいろ触ってみてください。
@quint555
Questionerありがとうございます。
確認してみます!
現状給与詳細カラムの4桁目を入力するとエラーとなってしまいNaNが出る状況です。
「4桁目を入力」する、例えばユーザーがテキストボックスに 1234 と入力すると、JavaScript で 1,234 に書き換えられ、それを使って、
result.value = (Number(input1.value) + Number(input2.value) +
Number(input3.value) + Number(input4.value) +
Number(input5.value) + Number(input6.value) +
Number(input7.value));
とするからエラーになると言ってますか? であれば、計算する前に、JavaScript でカンマを削除してはいかがですか。
@quint555
Questionerはい、そうなんです。
修正してみます!