Исправление чисел с плавающей запятой

Мне интересно, есть ли способ, которым вы можете легко и безопасно исправлять числа с плавающей запятой.

Например,

При вводе: "32 + 32,1" Результат: "64.0999999999999"

Также я должен упомянуть, что это происходит довольно часто при использовании экспоненциальной записи. " ( 2,3 * 10 ^ 23) * (1,452 * 10 ^ 23) " Возвращает: " 3.3395999999999999999e+46"

И, наконец, иногда возвращается число: бывший. 123.0000000000001

Спасибо за помощь!

РЕДАКТИРОВАТЬ

Ответ, который был одобрен, великолепен. Но то, что я обнаружил, сработало для меня, так это использование %g с двойным значением в NSString stringWithFormat. %g, кажется, округляет все вполне уместно. бывший.

    answer.text = [NSString stringWithFormat@" %g ", doubleAnswer];

Использование удвоений в ваших вычислениях, а затем использование этого метода, похоже, сработало для меня, и я надеюсь, что это поможет и другим. Если это не тот ответ, который вы ищете, ознакомьтесь с утвержденным ответом!

6
задан Neil 7 April 2012 в 20:56
поделиться