Domanda

Sono curioso circa l'esistenza di eventuali "arrotondamento" standard" quando si tratta di calcolo dei dati finanziari. I miei pensieri iniziali sono da eseguire arrotondamento solo quando i dati vengono presentati all'utente (strato di presentazione).

Se i dati "arrotondati" viene poi utilizzato per ulteriori calcoli, dovrebbe essere uso la figura "arrotondata" o la figura "grezza"? Qualcuno ha qualche consiglio?

Si prega di notare che io sono a conoscenza di diversi metodi di arrotondamento, vale a dire dei banchieri Arrotondamento etc.

È stato utile?

Soluzione

La prima e più importante regola: l'uso di un decimale tipo di dati , mai e poi mai tipi di binario in virgola mobile.

Quando arrotondamento esattamente deve essere eseguita può essere in conformità ai regolamenti, come ad esempio la conversione tra la euro e monete nazionali ha sostituito.

Se non ci sono tali norme, mi piacerebbe fare tutti i calcoli con alta precisione, e rotondo solo per la presentazione, vale a dire non utilizza valori arrotondati per ulteriori calcoli. Questo dovrebbe dare la massima precisione complessiva.

Altri suggerimenti

Ho appena chiesto un programmatore di mainframe greybeard al lavoro software finanziario dell'azienda I per, e lui ha detto che non v'è ben noto standard ed è fino a pratica programmatore.

Mentre gli statistici sono stati a conoscenza del problema di arrotondamento almeno dal 1906, è difficile trovare uno standard finanziario avallando esso.

questo sit e, la "relazione della Commissione europea l'introduzione dell'euro e l'arrotondamento della valuta Importi suggerisce che vi era stata in precedenza alcun approccio standard per l'arrotondamento nel settore bancario."

In generale, utilizzare una modalità di arrotondamento simmetrica non importa quale basare si sta lavorando in (base 2 o in base 10).

Questo eviterà distorsione sistematica durante i calcoli.

Una tale modalità è Round-half-to-Even, altrimenti noto come "banchieri arrotondamento".

Utilizzare gli strumenti linguistici che consentono di specificare il contesto numerico esplicitamente, tra le modalità di arrotondamento e troncamento. Ad esempio, Python decimal modulo. Le ipotesi implicite fatte dalla libreria C potrebbero non essere appropriati per i vostri calcoli.

http://en.wikipedia.org/wiki/Rounding#Rounding_to_integer

Ive non visto l'esistenza di "quella standard per domarli tutti" - ci sono un certo numero di criteri di arrotondamento (come avete fatto riferimento), e sembrano entrare in gioco basata sull'industria / cliente / e codice valuta ( http://en.wikipedia.org/wiki/ISO_4217 ) - dal momento che non tutti usano 2 posti dopo la virgola, il problema diventa ancora più complicato. Alla fine della giornata, il cliente ha bisogno di specificare le regole che vogliono implementare ...

E 'frustrante che non ci sono norme chiare su questo, sia per guidare il programmatore, e come difesa in tribunale. Solo facendo "regolare" arrotondamento verso più vicino per il libro paga può portare a mancati pagamenti da pochi centesimi su uno stipendio qua e là, che è qualcosa giuslavorista mangiano come il crack.

Anche se un tasso di base di paga potrebbe essere specificato solo in due punti decimali ( "Sei assunto a $ 22.71 / ora"), le cose come gli straordinari miscelati (determinata calcolando la media più tassi di pagare in un periodo) finiscono con un efficace tariffa oraria di $ 23.37183475 / hr.

Come si fa a pagare gli straordinari su questo?

15 hours x 23.37183475 x 1.5 = $525.87 rounded from $525.86628187
15 hours x 23.37       x 1.5 = $525.82

perché hai rubato i cinque centesimi dal mio cliente? Purtroppo, non sto scherzando su questo.

Questo diventa ancora più a disagio quando si calcola il valore pieno di precisione, ma di visualizzare una versione troncata:. Si fa il primo calcolo di cui sopra, ma visualizzare solo $ 23.37 per il tasso sui stub pagare

Ora i calcoli pay stub non legare fuori al centesimo, e ora avete a spiegarlo, ma anche se è a favore del dipendente, può essere sufficiente per un avvocato del lavoro al sangue odore in acqua e inizio alla ricerca di altre cose.

Un approccio è quello di sempre rotondo in favore del dipendente, non nella direzione naturale, così non ci può mai essere un'accusa di furto salariale sistematico.

Si consiglia di utilizzare numeri interi in scala.

In altre parole, memorizzare numeri interi di centesimi, invece di numeri frazionari di dollari.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top