フィールド2 & 3を追加するだけのスクリプトがありますが、数値を通貨($x,xxx.xx
)としてフォーマットしたので、が返されます。計算を行う前に数字から$
記号を取り除くことは可能ですか?私はコンマとピリオドが同じ問題を引き起こさないと仮定します。クリックイベントでNaNを取得する
onclick="document.getElementById('field1').value = (Math.round((parseFloat(document.getElementById('field2').value,2)*100))/100 + Math.round((parseFloat(document.getElementById('field3').value,2)*100))/100).toFixed(2);"
計算]ボタンをクリックする前に、私は(とすぐに、ユーザがフィールドを離れると)onblur="forA();"
を追加されている数値をフォーマットしていますと:
function forA() {
document.getElementById('fieldY').value = "$" + addCommas1(document.getElementById('fieldZ').value);
}
function addCommas1(nStr) {
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
*私はコンマとピリオドは、同じ問題が発生することはありませんと仮定*彼らが行う: '+ "1,234.50" - > NaN' –
TL; DR:変数は、文字列' "$ 123,456.78を" '含まれています。どのようにして番号123456.78を取得するのですか? –
最初にそれらを追加するのではなく、どうして? –