在Dojo中格式化数字

时间:2016-11-11 17:18:53

标签: javascript dojo

对于NumberTextBox我需要以百分比格式显示其值,例如,如果值为0.5,我需要显示50%

目前我正在使用pattern: "#%",但它显示错误的值。

你能否建议我如何解决它?

可选:

是否也可以显示没有百分比的值,如果可能的话,仅示例50

我也试过pattern:"#,##0.0%",但没有成功。

https://jsfiddle.net/gibbok/ejnar255/

<label for="programmatic">Opacity:</label>
<input id="programmatic" type="text" />


require(["dijit/form/NumberTextBox", "dojo/domReady!"], function(NumberTextBox) {
    new NumberTextBox({
        name: "programmatic",
        constraints: {
            min: 0,
            max: 1,
            pattern: "#%"
        },
        value: 0.5
    }, "programmatic").startup();
});

相关文档:

https://dojotoolkit.org/reference-guide/1.7/quickstart/numbersDates.html

http://www.unicode.org/reports/tr35/tr35-numbers.html#Number_Format_Patterns

https://dojotoolkit.org/reference-guide/1.10/dijit/form/NumberTextBox.html

1 个答案:

答案 0 :(得分:1)

我能够使用以下模式解决此问题:

pattern:"#.##%"

https://jsfiddle.net/gibbok/ejnar255/

require(["dijit/form/NumberTextBox", "dojo/domReady!"], function(NumberTextBox) {
    new NumberTextBox({
        name: "programmatic",
        constraints: {
            min: 0,
            max: 1,
            pattern:"#.##%"
        },
        value: 0.25
    }, "programmatic").startup();
});


<label for="programmatic">Opacity:</label>
<input id="programmatic" type="text" />