Есть ли в Swift способ урезать число с плавающей запятой до 2 знаков после запятой, чтобы вы могли выполнять с ним дальнейшие вычисления? Все потоки, которые я видел, имеют дело с приведением к строке, которую я не могу понять, как затем использовать математически.
Я попытался использовать расширение (найдено на этом форуме), полагая, что после усечения я могу вернуться к float, но в итоге я оказался там, где начал, с другим, не усеченным float. Мне нужно, чтобы возвращаемое значение было в четверть шага (т. е. 6,50, 6,75, 5,25 и т. д.), и в итоге я получаю такие результаты, как 6,990022....
Должен быть простой способ сделать это, но я упираюсь в стену. Заранее спасибо...
Вот проблема:
func roundToNearestQuarter(#power : Float) -> String {
var errorToLowerQuarterRaw : Float = power % 0.25 // 0.210000038146973
var errorToLowerQuarterString = errorToLowerQuarterStepRaw.string(2) // "0.21"
var errorToLowerQuarter = NSString(string: errorToLowerQuaterStepString).floatValue // 0.209999993443489
// more code
}
roundToNearestQuater(6.71)
float
. Swiftfloat
является двоичным. - person Hot Licks   schedule 08.01.2015