ImDecimalFormatter Singleton
Constructor
数値文字列の整形および解析オブジェクト。
数値文字列の整形および解析を行います。
処理を行うにあたって、このAPIではクライアントサイドからサーバサイドに対して通信を行います。
スクリプト開発向けAPIのDecimalFormatterオブジェクトについてもあわせてご参照ください。
バージョン8.0.19より変換処理をクライアントサイドのみで行う機能が追加されました。
以下の条件の場合にクライアントサイドで変換処理を行います。
サーバサイドで処理した場合とクライアントサイドで処理をした場合で、コールバック関数の引数が異なります。どちらで動作してもエラーにならないように実装することを推奨します。
clientDecimalFormatScriptタグを利用していない場合、設定ファイル数値形式マスタに csjs-path 属性を指定していても変換処理のたびにサーバへ通信を行います。
クライアントサイドで変換処理を行いたい場合は必ずclientDecimalFormatScriptタグを利用してください。
csjs-path属性に標準で指定されているパスの変換処理は、設定ファイル数値形式マスタのparameterの有無によってクライアントサイドで処理を行わずサーバへ通信して処理を行います。
以下のどれかに当てはまる場合、クライアントサイドで変換処理を行いません。
以下は、数値のフォーマットを行うサンプルコードです。
サンプルコード
数値文字列の整形および解析を行います。
処理を行うにあたって、このAPIではクライアントサイドからサーバサイドに対して通信を行います。
スクリプト開発向けAPIのDecimalFormatterオブジェクトについてもあわせてご参照ください。
バージョン8.0.19より変換処理をクライアントサイドのみで行う機能が追加されました。
以下の条件の場合にクライアントサイドで変換処理を行います。
- 設定ファイル 数値形式マスタの csjs-path 属性に変換処理を行うパスが設定されていること
- スクリプト開発の場合スクリプト開発向けclientDecimalFormatScriptタグを、JavaEE開発の場合JavaEE開発向けclientDecimalFormatScriptタグを利用している画面であること
サーバサイドで処理した場合とクライアントサイドで処理をした場合で、コールバック関数の引数が異なります。どちらで動作してもエラーにならないように実装することを推奨します。
注意事項
- ImDecimalFormatterを使用する場合は下記のようにImBigDecimalとImDecimalFormatterを読み込んでください。
さらに、変換処理をクライアントサイドのみで行いたい場合は下記のようにim_decimal_formatter.min.js以降にclientDecimalFormatScriptタグを読み込んでください。
<script src="ui/libs/bigdecimal-js/BigDecimal-all-last.min.js"></script> <script src="ui/js/math/im_decimal.min.js"></script> <script src="im_i18n/number/format/im_decimal_formatter.min.js"></script> <!-- クライアントサイドで変換処理を行いたい場合に記述してください。本サンプルはスクリプト開発向けです --> <imart type="clientDecimalFormatScript" />
クライアントサイドで変換処理を行いたい場合は必ずclientDecimalFormatScriptタグを利用してください。
以下のどれかに当てはまる場合、クライアントサイドで変換処理を行いません。
- 「grouping-separator」が設定されていない
- 「decimal-separator」が設定されていない
- 「locale」が設定されている
- 「pattern」が設定されている
サンプルコード
<script src="ui/libs/bigdecimal-js/BigDecimal-all-last.min.js"></script> <script src="ui/js/math/im_decimal.min.js"></script> <script src="im_i18n/number/format/im_decimal_formatter.min.js"></script> <!-- クライアントサイドで変換処理を行いたい場合に記述してください。本サンプルはスクリプト開発向けです --> <imart type="clientDecimalFormatScript" /> : : <script type="text/javascript"> // フォーマットIDが"sample"であるフォーマットを利用します。 var formatter = ImDecimalFormatter.getInstance("sample"); // 数値の小数部分の部分の最大桁数を2桁に変更します。 formatter.setMaximumFractionDigits(2); // 2つの数値をフォーマットし、指定した関数で結果を受け取ります。 formatter.format([1234, -56.789], callbackFunc); // 結果を受け取るCallback関数です。 function callbackFunc(data, textStatus, jqXHR) { var array = data.data; // フォーマット後の文字列は以下のように格納されています。 // array[0] = "1,234", array[1] = "-56.79" } </script>