swift - 499.28999999999996 -> 499.28 如何删除小数点而不四舍五入?

标签 swift

当你有下面的代码时,

结果应该是499.28

如何去掉小数点而不四舍五入?

var tmp:Double = 499.28999999999996
print(tmp.someFunction()) //-> 499.28 String

谢谢。

最佳答案

使用 Float80 以获得更高的精度:

var tmp: Float80 = 499.28999999999996

let times100 = tmp * 100

let noFraction =  times100 - times100.truncatingRemainder(dividingBy: 1)

tmp = noFraction/100

print(tmp)   //499.28

关于swift - 499.28999999999996 -> 499.28 如何删除小数点而不四舍五入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53927734/

相关文章:

swift - 有什么方法可以对数组内的自定义对象进行排序吗?

swift - 从 UIButton 触摸触发 UITabbarController 操作

ios - 检查一个数组是否包含 Swift 中另一个数组的所有元素

swift - UINavigationBar foregroundColor 使用 Color 而不是 UIColor

swift - 有没有办法在 Swift 中查看 View Controller 堆栈?

ipad - 关于 iOS 8.1 中的下图,使导航栏透明

ios - 具有依赖性的异步任务执行

swift - 如何在 Swift 中为 `dispatch_function_t` 声明 `dispatch_async_f`?

ios - 本地化具有未知数量参数的字符串

ios - 在 Swift 2 中隐藏和显示带有圆角和阴影的 UILabel