数値形式マスタ設定ファイル (conf/decimal-format-config/im-decimal-format-config.xml)
<?xml version="1.0" encoding="UTF-8"?>
<decimal-format-config
xmlns="http://www.intra-mart.jp/system/i18n/number/decimal-format-config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.intra-mart.jp/system/i18n/number/decimal-format-config decimal-format-config.xsd ">
<decimal-format id="sample_client1" default="true" csjs-path="im_i18n/number/format/standard_formatter.min.js">
<parameter param-name="grouping-separator" param-value=","/>
<parameter param-name="decimal-separator" param-value="."/>
</decimal-format>
<decimal-format id="sample_client2" csjs-path="im_i18n/number/format/standard_formatter.min.js">
<parameter param-name="grouping-separator" param-value=" "/>
<parameter param-name="decimal-separator" param-value=","/>
</decimal-format>
<decimal-format id="sample_server1">
<parameter param-name="grouping-separator" param-value=","/>
<parameter param-name="decimal-separator" param-value="."/>
</decimal-format>
<decimal-format id="sample_server2">
<parameter param-name="grouping-separator" param-value=" "/>
<parameter param-name="decimal-separator" param-value=","/>
</decimal-format>
</decimal-format-config>
<?xml version="1.0" encoding="UTF-8"?>
<decimal-format-config
xmlns="http://www.intra-mart.jp/system/i18n/number/decimal-format-config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.intra-mart.jp/system/i18n/number/decimal-format-config decimal-format-config.xsd ">
<decimal-format id="sample_client1" default="true" csjs-path="im_i18n/number/format/standard_formatter.min.js">
<parameter param-name="grouping-separator" param-value=","/>
<parameter param-name="decimal-separator" param-value="."/>
</decimal-format>
<decimal-format id="sample_client2" csjs-path="im_i18n/number/format/standard_formatter.min.js">
<parameter param-name="grouping-separator" param-value=" "/>
<parameter param-name="decimal-separator" param-value=","/>
</decimal-format>
<decimal-format id="sample_server1">
<parameter param-name="grouping-separator" param-value=","/>
<parameter param-name="decimal-separator" param-value="."/>
</decimal-format>
<decimal-format id="sample_server2">
<parameter param-name="grouping-separator" param-value=" "/>
<parameter param-name="decimal-separator" param-value=","/>
</decimal-format>
</decimal-format-config>
var sampleList = [];
var formats = SystemDecimalFormat.getFormats().data;
for (var i = 0; i < formats.length; i++) {
sampleList.push({
label : formats[i].id,
value : formats[i].id
});
}
var sampleList = [];
var formats = SystemDecimalFormat.getFormats().data;
for (var i = 0; i < formats.length; i++) {
sampleList.push({
label : formats[i].id,
value : formats[i].id
});
}
<imart type="head">
<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">
// 結果を受け取るCallback関数です。
function callbackFunc(data, textStatus, jqXHR) {
$('#result').children().eq(-1).append(data.data);
}
$(function() {
$('#format').on('click', function() {
doFormat(true);
});
$('#parse').on('click', function() {
doFormat(false);
});
var doFormat = function(isNumber) {
var formatId = $('#format-id').val();
var formatter = ImDecimalFormatter.getInstance(formatId);
var val = $('#target').val();
$('#result').append('<div>' + formatId + '(' + val + '):</div>');
if (isNumber) {
formatter.format(parseFloat(val), callbackFunc);
} else {
formatter.parseToNumber(val, callbackFunc);
}
}
});
</script>
</imart>
<div class="imui-form-container">
<imart type="imuiSelect" list=sampleList id="format-id"/>
<imart type="imuiTextbox" id="target" />
<imart type="imuiButton" class="imui-button" label="format" id="format"/>
<imart type="imuiButton" class="imui-button" label="parse" id="parse"/>
<div id="result"></div>
</div>
<imart type="head">
<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">
// 結果を受け取るCallback関数です。
function callbackFunc(data, textStatus, jqXHR) {
$('#result').children().eq(-1).append(data.data);
}
$(function() {
$('#format').on('click', function() {
doFormat(true);
});
$('#parse').on('click', function() {
doFormat(false);
});
var doFormat = function(isNumber) {
var formatId = $('#format-id').val();
var formatter = ImDecimalFormatter.getInstance(formatId);
var val = $('#target').val();
$('#result').append('<div>' + formatId + '(' + val + '):</div>');
if (isNumber) {
formatter.format(parseFloat(val), callbackFunc);
} else {
formatter.parseToNumber(val, callbackFunc);
}
}
});
</script>
</imart>
<div class="imui-form-container">
<imart type="imuiSelect" list=sampleList id="format-id"/>
<imart type="imuiTextbox" id="target" />
<imart type="imuiButton" class="imui-button" label="format" id="format"/>
<imart type="imuiButton" class="imui-button" label="parse" id="parse"/>
<div id="result"></div>
</div>