大きな数を取り、カウントアップするスクリプトがあります。スクリプトは数値を文字列に変換してコンマで書式設定できるようにしますが、最後の 2 桁の前に小数点以下の桁数を追加する必要もあります。この行がコンマを処理することを知っています:
if ((i+1) % 3 == 0 && (amount.length-1) !== i)output = ',' + output;
小数点を追加するために追加できる同様のコード行はありますか?
大きな数を取り、カウントアップするスクリプトがあります。スクリプトは数値を文字列に変換してコンマで書式設定できるようにしますが、最後の 2 桁の前に小数点以下の桁数を追加する必要もあります。この行がコンマを処理することを知っています:
if ((i+1) % 3 == 0 && (amount.length-1) !== i)output = ',' + output;
小数点を追加するために追加できる同様のコード行はありますか?
はい、常に最後の 2 つの前に小数点が必要な場合:
function numberIt(str) {
//number before the decimal point
num = str.substring(0,str.length-3);
//number after the decimal point
dec = str.substring(str.length-2,str.length-1)
//connect both parts while comma-ing the first half
output = commaFunc(num) + "." + dec;
return output;
}
commaFunc()
コンマを追加する、あなたが説明した関数はいつですか。
編集
多くの苦労の末、完全に正しいコードは次のとおりです。
小数点を最後の2桁の直前にしますか?そうしないと、2番目の方法1234
が必要になる12.34
と1234.00
思います。その場合は、JavaScriptの組み込みメソッド.toFixed()を使用する必要があります。
format_number関数を記述しなかったことに注意してください。以下のWebサイトから取得し、少し変更しました。
http://www.mredkj.com/javascript/nfbasic2.html
http://www.mredkj.com/javascript/nfbasic.html
// example 1
var num = 10;
var output = num.toFixed(2); // output = 10.00
// example 2, if you want commas aswell
function format_number(nStr)
{
nStr = nStr.toFixed(2);
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;
}
var num = 1234;
var output = format_number(num); // output = 1,234.00