Dipende dall'applicazione. richiede arrotondamenti quando vengono emessi come dollari e centesimi (o qualunque sia la valuta locale): il prezzo base di un articolo può avere solo due cifre dopo il decimale, ma quando si aggiunge l'imposta sulle vendite o IVA, ci sarà di più, e se è necessario calcolare gli interessi su un investimento, ci sarà di più.
In generale, utilizzando double
risultati nei risultati più accurati, però ... se il software viene utilizzato per una sorta di contabilità richiesto dalla legge (ad esempio, ai fini fiscali), si può essere richiesto di seguire di serie pratiche di arrotondamento accettate, e queste sono basate sul decimale aritmetico, non binario, esadecimale o ottale (che sono le solite basi per il punto mobile — binario è universale su tutto ma i mainframe ). In questi casi, è necessario utilizzare una classe Decimal
, che garantisce l'arrotondamento corretto. Per altri usi (ad esempio l'analisi del rischio ), double
va bene.
fonte
2012-06-18 17:30:06
controlla http://stackoverflow.com/questions/149033/best-way-to-store-currency-values-in-c –
Grazie molte informazioni su quella pagina! –
Vedere anche http://introcs.cs.princeton.edu/java/91float/, che descrive questo problema in dettaglio per gli studenti CS. – jvriesem