如何在双数字的开头添加零

问题描述 投票:0回答:1

我试图解决以下问题:

双数,即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.

sql oracle format
1个回答
2
投票

您使用的格式错误。 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='',.''' )
© www.soinside.com 2019 - 2024. All rights reserved.