如何在不使用语言环境的情况下格式化 NumberTextBox?
How to format the NumberTextBox without using locale?
我正在研究 dojo 的 NumberTextBox,我必须在不使用语言环境的情况下格式化金额字段。为此,我尝试了 约束和模式 ,但是,我无法达到预期的输出。
下面是预期的输出,
例如,如果用户输入,
(i) 1234 - 然后 onblur 它应该将其格式化为 1,234.00
(ii) 1234.3432 - 然后 onblur 它应该格式化为 1,234.34
(iii) 1234.3489 - 然后 onblur 它应该格式化为 1,234.35
(iv) 1234.3 - 然后 onblur 它应该将其格式化为 1,234.30
有人可以帮我解决这个问题吗?
编辑:
数字可以是任何东西(即百、千和百万),模式也应该能够处理逗号分隔符。
你猜对了。你需要使用 pattern
: {pattern: '#,###.##'}
您可以在实时文档中找到更多详细信息:http://livedocs.dojotoolkit.org/dijit/form/NumberTextBox
require(["dijit/form/NumberTextBox", "dojo/domReady!"], function(NumberTextBox){
var myNumberTextBox = new NumberTextBox({
name: "test",
constraints: {pattern: '#,###.##'}
}, "test");
myNumberTextBox.startup();
});
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/resources/dojo.css">
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dijit/themes/tundra/tundra.css">
<input id="test" type="text" />
我正在研究 dojo 的 NumberTextBox,我必须在不使用语言环境的情况下格式化金额字段。为此,我尝试了 约束和模式 ,但是,我无法达到预期的输出。
下面是预期的输出,
例如,如果用户输入,
(i) 1234 - 然后 onblur 它应该将其格式化为 1,234.00
(ii) 1234.3432 - 然后 onblur 它应该格式化为 1,234.34
(iii) 1234.3489 - 然后 onblur 它应该格式化为 1,234.35
(iv) 1234.3 - 然后 onblur 它应该将其格式化为 1,234.30
有人可以帮我解决这个问题吗?
编辑: 数字可以是任何东西(即百、千和百万),模式也应该能够处理逗号分隔符。
你猜对了。你需要使用 pattern
: {pattern: '#,###.##'}
您可以在实时文档中找到更多详细信息:http://livedocs.dojotoolkit.org/dijit/form/NumberTextBox
require(["dijit/form/NumberTextBox", "dojo/domReady!"], function(NumberTextBox){
var myNumberTextBox = new NumberTextBox({
name: "test",
constraints: {pattern: '#,###.##'}
}, "test");
myNumberTextBox.startup();
});
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/resources/dojo.css">
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dijit/themes/tundra/tundra.css">
<input id="test" type="text" />