У меня есть два текстовых поля на моем представлении. После запроса пользователю ввести значение, я конвертирую их в float
s для выполнения моих расчетов.Преобразование NSString в float дает неточное значение
Я использую следующий код:
variable1 = [textField1.text floatValue];
variable2 = [textField2.text floatValue];`
Когда пользователь вводит в textField1
22,8, я получаю 22.80005 в variable1
.
Я не получаю точного значения!
Как получить точное десятичное значение? Любое добавление может повлиять на точность вычислений.
Что относительно сравнений ... У меня есть приложение, в котором мне нужно сравнить десятичные значения. Структура такова, что значения находятся в строчном формате и когда я конвертирую строку в float, точность не является точной, например, преобразование -0.123456 из строки в double возвращает -0.12345, но мне нужны точные значения .. что я должен делать в этом случае – madLokesh
Обычно вам нужны точные значения только в валютных расчетах. Точные числа могут быть достигнуты с помощью _fixed point arithmetics_ (в основном вы используете 'long' или' long long' с фиксированным числом десятичных знаков). Или вы можете использовать 'NSDecimalNumber', который предназначен для него. – Sulthan
Фактически значения меняются в цифрах после десятичных чисел, некоторые из них имеют 6, некоторые из них имеют 9, некоторые из них 5, например – madLokesh