errori nei calcoli in virgola mobile non sono noti in altri linguaggi di programmazione . Questi si verificano di solito in numero di importo rilevante . JavaScript produce risultati interessanti durante le operazioni con valori a partire da 0,06 + 0,01 . La maggior parte delle persone avrebbe offerto 0,07 come la soluzione di questa equazione . JavaScript risolve questa risposta come 0,06999999999999 . Vicino, ma non abbastanza vicino per l'applicazione commerciale .
Formattazione e precisione
JavaScript offre due funzioni, toFixed () e il metodo toPrecision ( ), che eliminano i problemi di visualizzazione associati risultati imprevedibili . La funzione toFixed ( ) consente di determinare il numero di cifre del programma viene visualizzato dopo la virgola . In caso di valuta , utilizzando l'argomento num.toFixed ( 2) visualizza solo le prime due cifre dopo la virgola con arrotondamento automatico . Il metodo toPrecision ( ) funzione visualizza una risposta con il numero totale di cifre specificato nell'argomento senza riguardo alla loro relazione con il punto decimale .
La Causa
errori di arrotondamento vengono introdotte quando i numeri decimali vengono convertiti in stringhe binarie . Questo processo è necessario perché un computer può funzionare solo con uno e zero . Molte lingue superare questo errore di arrotondamento con l'uso di tipi di dati . Specificando come e con che cosa la precisione una variabile viene memorizzata , linguaggi come C e Java ridurre questi errori. Quando si dichiara una variabile in javascript , non viene specificato alcun tipo . Ciò si traduce in caratteri , stringhe, numeri interi e carri allegorici che sono trattati più o meno allo stesso modo.
Soluzione
La strategia più comunemente usato per superare gli errori di virgola mobile in JavaScript è quello di moltiplicare entrambe le variabili da 100 prima di eseguire un calcolo , utilizzando la funzione round ( ) per ridurre l'errore di virgola mobile e dividendo il risultato di questa operazione da 100 prima di stampare la risposta .
Programmazione © www.354353.com