swift - 如何在不快速四舍五入的情况下划分 double 值?

标签 swift double

我必须在我的应用程序中将一个大双数除以另一个,这将在 float 后显示 8 位数字。这是快速代码:

let firstValue:Double = 355531194300085860
let secondValue:Double = 100000000
let result = String(format: "%.8f", firstValue/secondValue)
print("value: \(result)")  

我期望输出为 3555311943.00085860 但编译器给出这样的输出 3555311943.00085878 。为什么会这样,我该如何解决?

最佳答案

试试这个

let firstValue = NSDecimalNumber(string: "355531194300085860")
let secondValue = NSDecimalNumber(string: "100000000")
let result = firstValue.dividing(by: secondValue)
print(result)

结果:3555311943.0008586

关于swift - 如何在不快速四舍五入的情况下划分 double 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54324724/

相关文章:

ios - 在 Swift 3 中声明 "NSMapTable StrongObject"

java - 如何检查用户输入的数据类型有效性(Java Scanner 类)

android - 如何管理在 GCM 服务器端的多播消息服务中添加注册 ID?

objective-c - 为什么在 C 中将大 double 转换为 long 有时会返回正值而有时会返回负值?

swift - 将 @font-face 插入 WKWebView

ios - 如何让 Xcode 调试器再次显示 'self' 和变量值?

c# - 如何使 xamarin.ios 中生成的 gif 变慢?

ios - 在 swift 3 中使用自定义 View 选择多个日期范围

mysql - RedBean PHP信用卡号问题

java 数组赋值 - 数字文字的使用