char()出现各位少0,或者值为###的处理

Oracle中使用to_char()函数时当number值为小数时,常常个位0不显示

比如:select to_char(0.02) from dual,结果为.02

char()出现各位少0,或者值为###的处理

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

char()出现各位少0,或者值为###的处理

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

char()出现各位少0,或者值为###的处理

这个没有想到好的办法,拼命的加9,比如这样  select to_char(11.2321212,'FM9999990.99999999') from dual,一般情况下转化应该不会报错了,但是我感觉这个不是最好的办法,这样加太笨了,不知道有没有更好的办法,这个to_char()函数真操蛋,默认没参数时跟toString()一样原封不动的转多好,至于FM,把它去掉执行一下和把它加上执行一下,对比一下结果就知道它的作用了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/31004ccfb89a75e0e5345c4340bd810e.html