2016-11-11 61 views
1

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

目前我使用的是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

我能解决使用FOLL这个问题由于图案:

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" />