V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
a498636530
V2EX  ›  问与答

iOS 高精度数据 精度丢失

  •  
  •   a498636530 · Oct 12, 2018 · 2342 views
    This topic created in 2764 days ago, the information mentioned may be changed or developed.

    ▿ Optional<double></double>

    • some : 1876543210.0

    NSDecimalNumber(value: num as! Double) 转换成 NSDecimal 类型 数据变成 1876543209.999999744 精度丢失

    2 replies    2018-10-12 17:18:41 +08:00
    finab
        1
    finab  
       Oct 12, 2018
    打印出来会丢失, 参与计算没事
    打印或转成字符串的时候保留有效小数位 四舍五入 round 一下吧
    a498636530
        2
    a498636530  
    OP
       Oct 12, 2018
    打印出来精度丢失 高精度处理 保留 8 位 8 位以后直接处理掉( NSDecimalNumber.RoundingMode.bankers ) 就变成 1876543209.99999974 展示出来 精度丢失
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1282 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 17:20 · PVG 01:20 · LAX 10:20 · JFK 13:20
    ♥ Do have faith in what you're doing.