Почему NSNumber numberWithDouble добавляет 0 к числу в target-c

Я использую XCode. У меня есть что-то подобное в моем коде

NSNumber *a=[NSNumber numberWithDouble:[@"0.07" doubleValue]];
//after that line a value is  0.07000000000000001

NSNumber *a=[NSNumber numberWithDouble:[@"0.099999999999999" doubleValue]];

// после этой строки значение 0.09999999999999901

Я нашел эти 2 исключения. Другие номера работают нормально. Как я могу это исправить?

Мне нужно преобразовать строку в nsnumber, но это неверное число, мне нужно, чтобы значение было равным 0,07, равному номеру строки. Этот номер будет набираться пользователем, и мне нужно позже показать число точно, как он его набрал, я не могу округлить его с помощью средства форматирования, потому что я не знаю количество десятичных знаков, которое вводит пользователь.

0 ответов

Другие вопросы по тегам