Mi chiedo se esiste un modo per correggere in modo semplice e sicuro i numeri in virgola mobile.Correggere i numeri in virgola mobile
Per esempio,
Quando è entrato: "32 + 32.1" Risultato: "64,0999999999999"
Inoltre devo dire che questo accade abbastanza frequentemente quando si utilizza la notazione scientifica. "(2,3 * 10^23) * (1.452 * 10^23)" Returns: "3.339599999999999999e + 46"
E, infine, a volte il numero che viene restituito è: es. 123.0000000000001
Grazie per l'aiuto!
EDIT
La risposta che è stata approvata è grande. Ma quello che ho trovato funzionato per me era usare% g con un doppio in NSString stringWithFormat. % g sembra arrotondare tutto abbastanza appropriatamente. ex.
answer.text = [NSString [email protected]" %g ", doubleAnswer];
Usando doppi attraverso i vostri calcoli e quindi utilizzando il metodo che sembrava funzionare per me, e spero che questo aiuta gli altri pure. Se questa non è la risposta che stai cercando, controlla la risposta approvata!
ahh vero vero, ma se volessi visualizzarlo come 62.1, ma comunque lasciare la possibilità di visualizzare 64.1065 per esempio (questo è quello che sto cercando btw, grazie.) –
Poi hai bisogno di traccia i decimali che vuoi mostrare (disordinati) o non usare float e passare a un altro tipo di variabile (probabilmente 'NSDecimalNumber'). – lnafziger
Ci proverò. –