Ho bisogno di aggiungere, moltiplicare e confrontare i valori di valuta in PHP e ho bisogno di essere sicuro che sia esatto in un solo centesimo.Le migliori pratiche per lavorare con i valori di valuta in PHP?
Un modo è quello di memorizzare tutto in virgola mobile, utilizzare round prima e dopo ogni operazione e mente epsilon della macchina quando si confronta per l'uguaglianza. Abbastanza ingombrante.
Un altro modo è di memorizzare l'intero importo come centesimi nei tipi di dati interi, oltre a ricordare di convertire avanti e indietro ogni volta che lavoro con il database (mysql, dove utilizzo il tipo di dati decimali). Inelegante, e molti errori di errore, imho.
Un altro modo è inventare il mio "tipo di dati", memorizzare tutti i valori nelle stringhe ("34.12") e creare le mie funzioni di sostituzione matematica. Queste funzioni convertono il valore in interi internamente, eseguono il calcolo e restituiscono il risultato di nuovo a stringhe. Sorprendentemente complicato, imho.
La mia domanda: qual è la migliore pratica per lavorare con i valori di valuta in PHP? Grazie!
Questo non è, molto semplicemente, le migliori pratiche e molto male consigli. Per favore, con tutti i mezzi, incapsulare le funzioni che funzionano con le funzioni matematiche di precisione arbitrarie, ma per favore non seguire i suggerimenti sopra riportati. La migliore risposta è Andrew Dunn. –