gpt4 book ai didi

ios - swift 解决问题

转载 作者:行者123 更新时间:2023-11-28 09:36:39 26 4
gpt4 key购买 nike

我有这个信息。

let params2: [String: AnyObject] = [
"app_token": myapptoken,
"member_access_token": accessToken!,
"pay_process": 0,
"payamount_credit": 9.87 //hardcode
]

当打印params2

The result is

[“app_token”:myapptoken,“member_access_token”:accessToken,“payamount_credit”:9.869999999999999,“pay_process”:0]

"payamount_credit": 9.87 现在是 "payamount_credit": 9.869999999999999

我已经尝试了所有存在的方式,但表现相同。

NSString(格式: "%.\2f", 9.87)

双(round(1000*9.87)/1000)

最奇怪的是,只有这个特定数字 (9.87) 才会发生,这很神秘。

Playground Screen.

enter image description here

最佳答案

问题出在 numeric precission 中,简单地说,有些数字不能定义为 Double 而不会丢失精度。

相反,您应该使用 NSDecimalNumber :

let num = NSDecimalNumber(string: "9.87")

关于ios - swift 解决问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37794622/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com