6

Вопрос по cocoa, xcode, ios, iphone – Исправление чисел с плавающей запятой

Error: User Rate Limit Exceeded

Например,

Когда введено: & Quot; 32 + 32,1 " Результат: & Quot; +64,0999999999999 & Quot;

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

And finally, sometimes the number that is returned is: ex. 123.0000000000001

Error: User Rate Limit Exceeded

EDIT

Error: User Rate Limit Exceeded

    answer.text = [NSString [email protected]" %g ", doubleAnswer];

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

  • Error: User Rate Limit Exceeded

    от Neil
  • Error: User Rate Limit Exceeded

    от Neil
  • Error: User Rate Limit ExceededNSDecimalNumber).

    от
  • Error: User Rate Limit Exceeded

    от
  • Error: User Rate Limit Exceeded

    от Neil
  • 8

    Error: User Rate Limit Exceeded

    float myFloat = 32 + 32.1;
    NSString *result = [NSString stringWithFormat:%@"%.2f", myFloat];
    // result will contain 64.10
    

    NSNumber:

    float myFloat = 32 + 32.1;
    NSNumber *myNumber = [NSNumber numberWithFloat:myFloat];
    NSString *result = [myNumber stringValue];
    // result will contain 64.1
    

    NSDecimalNumber

    NSDecimalNumber *num1   = [NSDecimalNumber decimalNumberWithString:@"32"];
    NSDecimalNumber *num2   = [NSDecimalNumber decimalNumberWithString:@"32.1"];
    // Or since you use exponents:  
    // NSDecimalNumber *num2   = [NSDecimalNumber decimalNumberWithMantissa:321 exponent:-1 isNegative:NO];
    
    NSDecimalNumber *myNumber = [num1 decimalNumberByAdding:num2];
    NSString *result = [myNumber stringValue];
    // result will contain 64.1
    

  • 2

    Error: User Rate Limit Exceeded

    doubleNSDecimalNumber.