在我的
swift程序中,我有一个非常长的十进制数(比如17.9384693864596069567),我想将小数截断为几个小数位(所以我希望输出为17.9384).我不想将数字四舍五入到17.9385.我怎样才能做到这一点?
感谢帮助!
注意:这不是重复的,因为在使用其中一些函数之前,它们使用的是旧版本的swift.此外,他们使用浮点数和整数,而我说的是双打.他们的问题/答案要复杂得多.
解决方法
你可以通过将它作为Double的扩展来进一步整理它
extension Double { func truncate(places : Int)-> Double { return Double(floor(pow(10.0,Double(places)) * self)/pow(10.0,Double(places))) } }
你就这样用它
var num = 1.23456789 // return the number truncated to 2 places print(num.truncate(2)) // return the number truncated to 6 places print(num.truncate(6))