2016-11-11 2 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

Я был в состоянии решить эту проблему с помощью Фолля благодаря схеме:

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