oracle查询时,如果数据的位数超过一定范围,如小数部分大于小数点后4位,就会以科学计数法的形式显示。我现在用delphi做一个查询报表,DBgridEh显示的。里面有很多数据字段,要求以小数的形式显示,不要科学计数法的形式。请问哪位知道oracle中有没有什么函数(或者什么办法)可以解决这个问题?我看了论坛中有提及的,可是好像没找到一个好的解决办法,大家来讨论下,帮帮我了。

解决方案 »

  1.   

    在SQL语句中使用ROUND(),可以控制输出几位小数.
      

  2.   

    使用SELECT TO_CHAR(ID) FROM A的方式转换一下显示.
      

  3.   

    嗯!这种方法可以,不过我的程序改动比较多了。我用DBGridEh显示,以前那些字段全部声明的float类型,这样类型不匹配了,需要调整。
      

  4.   

    不知道delphi 中有没有可以设定格式掩码  格式遮罩, 999999.9999 9是只数字
      

  5.   

    1.利用to_char从数据库中取出数据,然后在程序处理的过程中将其转化成number进行处理,这样的方式对于程序的过程来说有点复杂。
    2.可以通过第一位仁兄说的round方式来控制输出的小数点位数。