• ORCLE 小数点显示问题


    orcle有的时候你会发现PL/SQL里查出来的结果跟程序得到的DataTable得到的结果不一样。

    小数位值不一样。

    例:

    列名 NUMBER(18,5)

    PL/SQL里查出来的结果:1234567890123.78000

    DataTable得到的结果:1234567890123.77778

    而其实插入的值就是1234567890123.77778

    那么解决方法就是把数值转成字符:

    方法很多,第二种方法很好,第一种小数点前的0会被去掉,下面说两种:

    一:

    to_char(round(列名,5),'FM99999999999999.00000')

    二:自定义函数 :

    CREATE OR REPLACE FUNCTION FLOAT_TO_CHAR
    (
    PARMIN VARCHAR2 --要转换的字符
    )
    RETURN VARCHAR --返回值 如:.214 返回0.214\1.234 返回1.234
    IS
    V_PARMIN VARCHAR2(20);
    BEGIN
    --*****************************************--
    --将小数转换字符型保留前面的0
    --*****************************************--
    IF SUBSTR(PARMIN,1,1)='.' THEN
    BEGIN
    V_PARMIN := '0'||PARMIN;
    RETURN V_PARMIN;
    END;
    ELSE
    BEGIN
    RETURN PARMIN;
    END;
    END IF;
    END FLOAT_TO_CHAR;

     

  • 相关阅读:
    hdu 1253
    poj 2531 Network Saboteur
    rwkj 1501 数据结构:图的DFS遍历
    rwkj 1306 素数========拓展
    nyist 91 阶乘之和
    nyist 65 另一种阶乘问题
    nyist 31 5个数求最值
    nyist 22 素数求和
    向量 vector
    字符串 统计 ,删除,连接,变换
  • 原文地址:https://www.cnblogs.com/xbding/p/2984228.html
Copyright © 2020-2023  润新知