下面是我之前将浮点数截断为两位小数的方法
NSLog(@" %.02f %.02f %.02f", r, g, b);
Run Code Online (Sandbox Code Playgroud)
我检查了文档和电子书,但还没弄清楚.谢谢!
我试图在swift中分隔double的十进制和整数部分.我尝试了很多方法,但它们都遇到了同样的问题......
let x:Double = 1234.5678
let n1:Double = x % 1.0 // n1 = 0.567800000000034
let n2:Double = x - 1234.0 // same result
let n3:Double = modf(x, &integer) // same result
Run Code Online (Sandbox Code Playgroud)
有没有办法获得0.5678而不是0.567800000000034而无需将数字转换为字符串?
使用 0.1 值初始化双变量并通过 SwiftyJSON 将其编码为 JSON 后,我收到 JSON 结构中的 0.10000000000000001 。
我知道浮点/双精度和整数之间的精度内存存储差异,但除了使用 %.2f 等 sprintf 格式之外,我仍然没有找到针对这种情况的快速修复方法 - 我不想将字符串放入 json结构。
任何快速简单的解决方案都将受到赞赏。
我期望 JSON 中有 0.1 的值。如果 double 值为 10,我期望 JSON 中的值为 10。但是在 json 编码操作过程中如何避免这种精度舍入错误呢?