to_char 去0问题
N_TGT_FLD10 是number(6,20) 格式to_char(N_TGT_FLD10) 想用来小数点后多余0 但是如 0.610000 会显示成.61
目的是显示为 0.61 想只去掉小数点右边多余0 而不去小数点左边表示个位的0
PS 数据有大于1的小数 to_char 去0问题 --------------------编程问答-------------------- 呵呵,解决这个问题了没有? --------------------编程问答-------------------- 原来to_char 也有重载,不指定第二个参数 就变成61了。
可以这样:
select ltrim(rtrim(to_char(0.610000, '99990.000000'), '0') , ' ') as num from dual
to_char(0.610000, '99990.000000') 你的小数点后面有多少位 转换的参数后面也相应多少位,确保精度不丢失。
并且这个99990.000000是有讲究的,我刚刚测试了发现,小数点后面只能制定0,否则无效的数字模型,多了不要紧,少了就丢失了,另外前面的99990对应小数前面,多了不要紧,少了变成####,自己可以试试看。
rtrim()去掉右边多余的0
ltrim()去掉左边多余的空格
参考:http://www.linuxidc.com/Linux/2012-01/52558.htm --------------------编程问答--------------------
这个行
补充:Java , Java EE