работа с дробями — шаблон Java NumberFormat

#java #javascript #dojo #fractions

#java #javascript #dojo #дроби

Вопрос:

Я использую dojo, и я прочитал, что этот фреймворк использует шаблон Java NumberFormat.

Мой вопрос: как сохранить значения ползунка с дробями, а не с делением. Например, 1/3, а не 0,333333333. Это потому, что в будущем мне нужно инвертировать 1/3 в 3/1.

Итак, проблема в том, как сохранить значение в дроби.

 var theSlider = new dijit.form.HorizontalSlider({
                value:5,
                onChange: function(){
                    console.log(arguments);
                },
                name:"input" [i],
                slideDuration:0,
                onChange:function(val){ dojo.byId('value' [i]).value = dojo.number.format(1/val,{places:4})},
                minimum:1,
                maximum:9,
                discreteValues:9,
                style:{width:"400px"}
            },node);
  

Комментарии:

1. Шаблон Java NumberFormat позволяет вам форматировать число так 1033.33333 , чтобы оно отображалось как 1,033.33 . Вы хотите отобразить 0.333 как 1/3 . Это не может быть сделано шаблоном Java NumberFormat.

2. ну, я просто хочу избежать деления и добавить 1/ ко всем числам

Ответ №1:

Я бы сказал, что вы хотите создать свой собственный класс дробей или найти его в Интернете, например:

http://www.dreamincode.net/forums/topic/87241-fraction-class-that-does-the-4-main-calculation-functions/

Ответ №2:

просто:

 onChange:function(val){ dojo.byId('value' [i]).value = "1/"   val;},
  

Решаемая, спасибо