Ci sono molti problemi di arrotondamento quando si registrano dati finanziari. primo problema è la capacità di memorizzare e recuperare i numeri decimali esatti
- maggior parte dei database offrono tipo di dati decimali su cui è possibile specificare il numero di cifre prima e dopo il punto decimale (valute variano in numero di cifre decimali, anche, io abbiamo trattato valute con 0, 2, 3 cifre decimali)
- quando si tratta di questi dati e si desidera evitare errori di arrotondamento imprevisti dal lato dell'applicazione è possibile utilizzare BCD come approccio generico, oppure è possibile utilizzare numeri interi per rappresentare qualsiasi notazione decimale fissa o miscela il proprio
Se questo primo problema viene risolto, nessuna aggiunta (o sottrazione) può introdurre errori di arrotondamento. Lo stesso vale per la moltiplicazione per intero.
Il secondo problema, dopo che è possibile archiviare e recuperare i dati senza perdita di informazioni, sono previsti errori di arrotondamento dovuti alla divisione (o alla moltiplicazione per non intero).
Per esempio se il formato valuta permette 2 decimali e si desidera memorizzare transazione che registra saldi un debito di 10 a 3 pezzi uguali è possibile memorizzare solo come
10.00
-3.33
-3.33
-3.33
e
-0.01
(errore di arrotondamento)
Questo è il problema previsto che si verificherà indipendentemente dalla scelta di archiviazione del tipo di dati e che deve essere preso in considerazione se si desidera che i propri account t o equilibrio Questa situazione è principalmente introdotta dalla divisione (o dalla moltiplicazione per non interi che hanno molte cifre significative).
Un modo per risolvere questo problema è verificare se i dati sono saldi dopo tali operazioni e riconoscere la differenza di arrotondamento consentita rispetto a una situazione di errore.
MODIFICA: Per quanto riguarda i riferimenti alla letteratura, this one sembra interessante e non troppo lungo e riguarda un pubblico abbastanza ampio con scenari interessanti.
Se stai chiedendo informazioni sulla contabilità, dovresti chiederlo a un contabile. Hanno delle regole. Negli Stati Uniti, è il GAAP che copre questo. Hai chiesto a un ragioniere? Hai trovato le regole contabili che si applicano alle tue impostazioni locali? –
@ S.Lott: Ciao, sono in Lituania. Oggi ho parlato con un impiegato della banca locale :). Mi ha detto che alla fine del mese o del trimestre hanno semplicemente cancellato la discrepanza. Ma questa risposta non si adatta alle mie esigenze. – Max
Poi trova un ragioniere migliore. Sul serio. Questo è molto probabile coperto dalla legge in Lituania. Se non per legge, poi per qualche standard professionale (che è quello che il GAAP è negli Stati Uniti). Questo è ben documentato dai ragionieri. –