问题描述:
在Oracle中使用to_char()函数时当number值为小数时,常常个位0不显示
比如:select to_char(0.02) from dual,结果为.02

改进为 select to_char(0.02,'FM0.9999') from dual,发现个位的0出来了

当然这里还有问题,当参数为'FM0.9999'时,如果数值大于两位数或者小数位大于四位时时转化会错,如图:

这个没有想到好的办法,拼命的加9,比如这样 select to_char(11.2321212,'FM9999990.99999999') from dual,一般情况下转化应该不会报错了,但是我感觉这个不是最好的办法,这样加太笨了,不知道有没有更好的办法,这个to_char()函数真操蛋,默认没参数时跟toString()一样原封不动的转多好,至于FM,把它去掉执行一下和把它加上执行一下,对比一下结果就知道它的作用了.
本文探讨了在Oracle数据库中使用to_char()函数处理小数时遇到的个位0丢失问题,并提供了解决方案。通过指定格式模型'FM0.9999'可以使个位的0正常显示,但此方法在数值位数较多时存在局限性。文章讨论了如何通过增加9的数量来适应更多情况,同时寻求更优雅的解决方案。


被折叠的 条评论
为什么被折叠?



