Если у вас есть код ниже,
Результат должен быть 499,28
Как удалить десятичную точку без ее округления?
var tmp:Double = 499.28999999999996 print(tmp.someFunction()) //-> 499.28 String
Спасибо.
Используйте Float80 для большей точности:
Float80
var tmp: Float80 = 499.28999999999996 let times100 = tmp * 100 let noFraction = times100 - times100.truncatingRemainder(dividingBy: 1) tmp = noFraction/100 print(tmp) //499.28
Вы можете использовать функцию floor() с некоторым масштабированием для достижения желаемого результата:
floor()
var tmp:Double = 499.28999999999996 floor(tmp * 100) / 100 //returns 499.28