Кажется, я получаю более точную версию двойного значения для определенных чисел.Проблема с двойным типом данных
Например, 69,55554, когда присваивается двойной переменной сохраняется как 69,555539999999993
Я даже попытался использовать NSNumber и NSDecimalNumber вместо, но безрезультатно. Я использую swift и не тестировал то же самое с использованием объектива-c.
Любая идея о том, почему это происходит и как ее исправить (или обойти ее)? Благодаря!
Пример кода, где я использовал NSDecimalNumber
var doubleNumber : Double = 69.55554
var decimalNumber = NSDecimalNumber(double: doubleNumber)
var label = UILabel(frame: CGRectMake(10, 20, 200, 40))
label.text = "\(decimalNumber.doubleValue)"
self.view.addSubview(label)
Можете ли вы показать нам пример кода, где вы использовали NSDecimalNumber? – vib
[Что каждый компьютерный ученый должен знать о арифметике с плавающей точкой] (http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html). –
NSDecimalNumber должен быть способ решить эту проблему. Думаю, он не использовался должным образом. – vib