Как отформатировать проценты? - PullRequest
0 голосов
/ 09 февраля 2019

Мне нужна помощь в форматировании процентов.Моя первоначальная причина форматирования заключается в том, что я хочу отображать проценты около нуля как 0,05%, а не как 0,05%

Итак, я сделал это:

IF (a.TOTAL <> 0 AND b.mkt <> 0) THEN
    v_perc := TO_CHAR(ROUND(100-( a.TOTAL*100/ b.mkt),2),'00.99') || '%';
END IF;

v_perc сохраняется как varchar2(50), но форматирование не всегда так, как мне нужно.

Когда процент ниже 10%.Я получаю как 08,52 или 00,35%.Но я хочу формат, в котором вывод будет как 0,52%, 5,32%, 55%, 0%, 100%.Я пробовал с 000.999, но это даст 000.000%.

1 Ответ

0 голосов
/ 09 февраля 2019

Вы можете использовать

TO_CHAR(<your_value>,'fm990D00','NLS_NUMERIC_CHARACTERS = ''.,''')

в качестве модели форматирования.

Он удовлетворяет ваши потребности до 100 (100%).Если не считать процентов, если вам нужно больше цифр в другом случае, например 11,115.54, вы можете преобразовать второй аргумент в 'fm999G990D00'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...