Grails アプリケーションを使用しており、数値を小数点以下の桁数で保存したいと考えています902.11
。私のアプリでは、チェコ語のロケールを使用しているため、小数点は小数点「.」ではなくコンマ「,」で表されます。しかし、ブラウザでJavascriptで計算したいので、小数点を「.」で表現する必要があります。
「。」を使用するように、アプリケーションでチェコ語ロケールをカスタマイズできるようにする解決策はありますか。それ以外の "、"?または、この問題に対する他の解決策はありますか?
formatNumberタグを使用し、小数点以下の桁数にドットを使用するロケールを指定する必要があります。例:
<script ...>
var someNumber = <g:formatNumber number="${myNumber}" locale="en" />;
// ... do some javascript calculations
</script>
参考のため:
ページに値を書き出すと formatNumber は機能しますが、Grails データ バインダーはロケール固有であるため、Lijza はおそらく単純ではなくコントローラーに数値を返したいと考えていました。ベース JS 形式の代わりにチェコ語ロケール。
アプリケーションに対してグローバルになるバインダー値コンバーターをオーバーライドするか (希望するものではない場合があります)、コマンド オブジェクトを使用して数値をコマンド オブジェクトの文字列属性に取得し、Grails が適用を試行しないようにすることができます。それを解析する任意の数。次に、ベース JS 形式に従って、この文字列を手動で数値に変換します。