在我的
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))