我试图解决以下问题:
双数,即2个双数的结果,在开头0处,不显示。 (例如,我希望0.537,但我只能看到.0537)这是非常有问题的,因为这个数字然后转换为字符串,我在开头需要这个零。
为了更好的想象力,请查看代码的一部分(这对这些数字不起作用):
...
ELSE REPLACE(TRIM(to_char(ROUND(ab.price, 5)/ABS(ROUND(ab.position,5)), '999999.99999')),'.',',') END as Price
...
结果:,57300
预期结果:0,57300
谢谢你的答案。
M.
您使用的格式错误。 9
是一个可选数字。使用0
作为强制性的。您将获得与D
匹配您的区域设置的小数点分隔符:
TO_CHAR( ROUND(ab.price, 5)/ABS(ROUND(ab.position, 5), '999990D99999' )
如果您希望逗号为小数分隔符而不考虑您的设置,请使用NLS_NUMERIC_CHARACTERS
指定:
TO_CHAR(
ROUND(ab.price, 5)/ABS(ROUND(ab.position, 5),
'999990D99999',
'NLS_NUMERIC_CHARACTERS='',.''' )