• float 的不确定性


    很多时候,大家都知道,浮点型这个东西,本身存储就是一个不确定的数值,你永远无法知道,它是 0 = 0.00000000000000123 还是 0 = 0.00000000000999这样的东西。也许一开始使用的时候没有问题,但是有时候做统计的时候,就会看出端倪

    简单的举个例子,就知道统计的时候,有可能出现意外的效果,导致可能需要存储过程或者接收程序的代码左额外的取舍数位的处理,所以在此其实我是推荐使用Numeric来替代float进行一个替代使用,避免一个sum ,然后明明明细看每一条数据都是正常的2,3位小数,一汇总就变成了8,9位的样子

    CREATE TABLE #T (ID INT IDENTITY,Va FLOAT)
    CREATE TABLE #T1 (ID INT IDENTITY,Va NUMERIC(15,9))
    
    --分开执行-------------------------------------------------
    INSERT INTO #T
            ( Va )
    VALUES  ( 0.60000000)
    INSERT INTO #T1
            ( Va )
    VALUES  ( 0.60000000)
    GO 100
    
    
    
    SELECT SUM(Va) FROM #T
    SELECT SUM(Va) FROM #T1
    
    
    
    ----------------------
    60.0000000000001
    
    (1 行受影响)
    
    
    ---------------------------------------
    60.000000000
    
    (1 行受影响)
  • 相关阅读:
    IOS整体代码复习一
    IOS复习UIActionSheet&UIAlertView
    IOS复习Plist文件的读取和写入
    IOS复习UITextfield&UILabel
    iOS中判断两个圆是否重叠
    iOS指针回调函数
    ios函数指针
    iOS分区
    ios指针第二天
    iOS指针第一天
  • 原文地址:https://www.cnblogs.com/Gin-23333/p/7227988.html
Copyright © 2020-2023  润新知