如何格式化百分比?
How to format percentage?
我在格式化百分比方面需要帮助。我格式化的最初原因是我想将接近零的百分比显示为 0.05% 而不是 .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%.
您可以使用
TO_CHAR(<your_value>,'fm990D00','NLS_NUMERIC_CHARACTERS = ''.,''')
作为您的格式化模型。
它最多可以满足您的需求 100
( 100%
)。除了百分比之外,如果您在其他情况下需要更多数字,例如 11,115.54
,您可以将第二个参数转换为 'fm999G990D00'
.
我在格式化百分比方面需要帮助。我格式化的最初原因是我想将接近零的百分比显示为 0.05% 而不是 .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%.
您可以使用
TO_CHAR(<your_value>,'fm990D00','NLS_NUMERIC_CHARACTERS = ''.,''')
作为您的格式化模型。
它最多可以满足您的需求 100
( 100%
)。除了百分比之外,如果您在其他情况下需要更多数字,例如 11,115.54
,您可以将第二个参数转换为 'fm999G990D00'
.