Маска формата для элементов числового поля: конечный и «ведущий» ноль - PullRequest
0 голосов
/ 11 октября 2011

У меня возникают проблемы с отображением чисел в вершине, но только когда я заполняю их через код. Когда числа выбираются с помощью автоматической выборки строк, они в порядке!

Ведущий ноль

Например, у меня есть отчет, в котором пользователь может щелкнуть ссылку, которая запускает функцию javascript. Там я получаю подробные значения для этой записи в процессе подачи заявки. Возвращенные значения находятся в формате JSON. Несколько полей являются числовыми. Мой ответ выглядит следующим образом (fe):

{"AVAILABLE_STOCK": "15818", "WEIGHT": ".001", "VOLUME": ".00009", "BASIC_PRICE": ".06", "COST_PRICE": ".01"}

Уже числа здесь «неправильные»: значения меньше единицы не имеют ноль перед. Я надеялся, что маска формата на элементах поймает это. Если я укажу FM999G990D000 для веса предмета, я бы ожидал, что он покажет «0,001».

Но хорошо, я полагаю, что это работает только тогда, когда оно проходит через состояние сеанса, а не когда вы устанавливаете значение элемента через $ ("#"). Val ()?

Где я могу пойти не так? Является ли мой единственный вариант изменить мой выбор в процессе приложения? Сейчас:

  SELECT '"AVAILABLE_STOCK": "' || AVAILABLE_STOCK ||'", '||
         '"WEIGHT": "'          || WEIGHT          ||'", '||
         '"VOLUME": "'          || VOLUME          ||'", '||
         '"BASIC_PRICE": "'     || BASIC_PRICE     ||'", '||

Нужно ли указывать в моих числовых полях to_char с маской формата (to_char(available_stock, 'FM999G990D000'))?

Прямо сейчас мне нужно поставить свои числа между кавычками, или я получу недопустимый JSON, когда я его проанализирую.

Трейлинг-ноль

У меня есть процесс подачи заявки на странице в заголовке после, сразу после автоматической выборки строк. Здесь рассчитывается несколько полей (итоги). Все используемые переменные указаны как число (10, 2). Все значения являются правильными и округляются до 2 значений после запятой. Мои маски формата на элементах также указаны как FM999G999G990D00.

Однако, когда одно из вычисленных значений имеет только одно значащее значение после запятой, конечные нули сбрасываются. Вместо «987,50» он отображается как «987,5». Итак, у меня есть числовая переменная, и назначить ее так: :P12_NDB_TOTAL_INCL := v_totI; Нужно ли мне конвертировать мои числа здесь тоже, с маской формата?

Что я делаю не так или чего мне не хватает?

1 Ответ

0 голосов
/ 19 октября 2011

Если вы не занимаетесь математикой и больше интересуетесь форматированием, я предлагаю рассматривать его как строку / строку вместо числа, где вы можете.

...