我在存储过程中用了一个见字符串类型数字 转换类型 
 比如我的数据: 140.0040 
 to_number(140.0040) 之后的结果为140.004这个不是我要的结果!! 目标就是转换后还是 140.0040具体没怎么用过这个函数,貌似末尾是0,都会去除,怎么不让这个末尾的0去除!! 请大牛们帮忙

解决方案 »

  1.   

    刚才百度了下 处理方法都是小数位数已知的情况
    1楼的方法也是 要是小数位数未知 就不行了 比如 1.0000显示为1.0000 但是1.20就会显示为1.2000就不对了
    估计没有好的办法吧
    你可以把每个数的小数位数计算出来 然后逐个设置to_char,不知道可不可行
      

  2.   

    to_char(140.0040,'9990.9999') 试试
      

  3.   

    数据库是不会存储小数点后面的0的,所以只能用to_char来一个个处理,不过还有的更好的办法是直接用varchar2来存储数据.
      

  4.   

    可以用to_char(140.0040,'9990.9999')
      

  5.   

    cast(12345.6780 as number(8,5)) 可以指定你要转换的类型和小数位
      

  6.   

    select to_char(140.0040,'9990.9999') from dual