私はAJAXを介して受け取ったjsonデータをレンダリングするためにヒゲを使用しています。私は、通貨形式でこの番号をレンダリングするどのように私は口頭で小数から通貨形式にフォーマットできますか?
:
{{price}}
例:12300
私のようにそれをレンダリングすることができます方法:
ヒゲのテンプレートエンジンを使用して"12,300"
?
私はAJAXを介して受け取ったjsonデータをレンダリングするためにヒゲを使用しています。私は、通貨形式でこの番号をレンダリングするどのように私は口頭で小数から通貨形式にフォーマットできますか?
:
{{price}}
例:12300
私のようにそれをレンダリングすることができます方法:
ヒゲのテンプレートエンジンを使用して"12,300"
?
モデルを口髭(または実際にはテンプレートエンジン)に渡す前にそれを行う必要があります。文字列操作を行うことは別として、すべての国が数字を同じように書いているわけではないので、表示の表現が異なり、テンプレートにハードコードされるべきではありません。
一部の人は、iso書式設定は文化的でプレゼンテーションの問題であると主張します。 –
口ひげは非常に最小限であり、これをサポートしていません。
あなたはどちらかの形式のデータを供給する必要があるか
{ priceDecimal: function() { return formatDecimal(this.price); } }
別の方法を形式のデータを返す関数は、ヘルパー関数
Handlebars.registerHelper('decimal', function(number) {
return formatDecimal(number);
});
この
ように使用をサポートする handlebars.jsを使用することです{{decimal price}}
はい。 mustache.javaのメンバーは、余分なプレゼンテーション/ビューモデルが必要であることを示唆しています。 http://www.javarants.com/2013/03/09/mustache-is-logic-less-but-the-logic-has-to-go-somewhere/ –
私はに同意しますがでは、function in Mustacheを使用してデータをフォーマットすることができます。
シンプルなテンプレート:あなたの価格のための書式設定機能を使用してデータを処理するため
<ul>
{{#price}}
<li>{{commaFormat}}</li>
{{/price}}
</ul>
はJavaScript:
HTMLを結果として生じるvar tpl = $('#tpl').html(),
data = {
price: ['1234', '123', '123456', '1234567890'],
commaFormat: function() {
// adapted from https://stackoverflow.com/questions/2901102/how-to-print-number-with-commas-as-thousands-separators-in-javascript
return this.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
},
html = Mustache.to_html(tpl, data);
document.write(html);
:
<ul>
<li>1,234</li>
<li>123</li>
<li>123,456</li>
<li>1,234,567,890</li>
</ul>
はここで検査するthe working jsFiddleと遊びますさらに。
私はMustache.js用の小さな拡張を作成しました。これは、{{式|フォーマッタ}}
あなたはgithubの中にそれを確認することができます:http://jvitela.github.io/mustache-wax/
私がインストール(および、必要に応じてパッケージに保存し、まずhttps://www.npmjs.com/package/handlebars.numeral
からハンドルバーNumeralHelperパッケージを使用します。JSON):
npm install --save handlebars.numeral
次に、ヘルパーをロードします。
var Handlebars = require('handlebars');
var NumeralHelper = require("handlebars.numeral");
NumeralHelper.registerHelpers(Handlebars);
最後に、あなたのページでそれを使用します。
<script>
myNumber = 12300:
</script>
<div>
{{ number myNumber }}
</div>
この例の出力は12,300
です。
ローカリゼーションは気になりますか? (ロケールに応じて '、'または '。'を区切り記号として使用) – guival