2016-03-23 6 views
1

私は非常に限られたコーディングの知識を持っています。スペースセパレータ昏睡状態の大量出力の代わりに

formタグには、最終出力にセパレータを配置するためにtoLocaleStringを使用しています。しかし、私はカンマの代わりにスペースが必要です。それをどうすれば実現できますか?

今、3番目の出力にはコンマが入ります。しかし理想的には、3つのアウトプットのすべてにスペースを入れて、大きな数字をより読みやすくしたいと思っています。

例:「5 000」、「400 000」等

<form oninput="loanval.value=loan.value; periodval.value=period.value; paymentval.value=Math.floor(loan.value/period.value).toLocaleString()"> 
    <label>Loan Amount</label> 
    <input type="range" id="loan" name="loan" min="5000" max="400000" step="5000"> 
    <output name="loanval" for="loan">0</output> 
    <label>Loan Period</label> 
    <input type="range" id="period" name="period" min="1" max="15"> 
    <output name="periodval" for="period">0</output> 
    <label>Your monthly repayment will be:</label> 
    <output name="paymentval">0</output> 
</form> 

答えて

2

.toLocaleString()関数のポイントは、ロケール(およびラークセパレータ等に基づいて正しい数千と小数点区切りを選択することです)ので、「この区切り記号にスペースを使用したいと思います」と明示的に言うオプションはありません。

サイトが唯一の小数点区切り文字としてピリオドを使用するロケールで実行されています絶対に特定している場合は、単に行うことができ、何千と期間のコンマを使用していますen-USを使用するように強制され.toLocaleString('en-US').replace(',', ' ')

小数点の場合は、カンマを手動で置き換えるだけです。非常にエレガントではありませんが、私はロケールの標準/認識可能な千単位の区切り記号を削除して、「読みやすく」なる数字をそれほどエレガントではないと主張します。

+0

詳細情報はあまりにも多いです。とても役に立ちました:) – Shtarley

関連する問題