Question

Je suis curieux de savoir l'existence de « l'arrondissement des » normes » en ce qui concerne le calcul des données financières. Mes premières pensées sont pour effectuer l'arrondi que lorsque les données sont présentées à l'utilisateur (couche de présentation).

Si les données « arrondies » est alors utilisé pour d'autres calculs, devrait être utiliser le chiffre « arrondi » figure ou la « brute »? Quelqu'un at-il des conseils?

S'il vous plaît noter que je suis au courant des différentes méthodes d'arrondissement, à savoir des banquiers Arrondi etc.

Était-ce utile?

La solution

La première et la règle la plus importante: l'utilisation d'un décimal type de données, jamais binaire types à virgule flottante.

Lorsque l'arrondi exactement doit être effectué peut être prescrit par le règlement, comme la conversion entre le Euro et monnaies nationales remplacer.

S'il n'y a pas de telles règles, je ferais tous les calculs avec une grande précision, et rond que pour la présentation, à savoir ne pas utiliser des valeurs arrondies pour d'autres calculs. Ceci devrait vous donner la meilleure précision globale.

Autres conseils

Je viens de demander un programmeur mainframe barbon à la société de logiciels financiers je travaille, et il a dit qu'il n'y a pas bien connu standard et il est à la pratique du programmeur.

Alors que les statisticiens ont été au courant de la question d'arrondi depuis au moins 1906, il est difficile de trouver une norme financière endossant.

Selon ce sit e, le « rapport de la Commission européenne l'introduction de l'euro et l'Arrondi des devises Montants suggère que il avait déjà eu aucune approche standard de l'arrondissement dans le secteur bancaire « .

En général, utilisez un mode d'arrondi symétrique, peu importe ce que vous travaillez dans basons (base 2 ou base 10).

Cela évitera un biais systématique lors des calculs.

Un tel mode est ronde demi-To-Même, autrement connu comme "banquiers d'arrondissement".

Utiliser des outils linguistiques qui vous permettent de spécifier le contexte numérique explicity, y compris les modes d'arrondi et troncature. Par exemple, Python decimal module. Les hypothèses implicites faites par la bibliothèque C pourraient ne pas être approprié pour vos calculs.

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

Ive pas vu l'existence de « l'une norme pour les gouverner tous » - il y a un certain nombre de règles d'arrondi (comme vous l'avez fait référence), et ils semblent entrer en jeu en fonction de l'industrie / client / et le code monétaire ( http://en.wikipedia.org/wiki/ISO_4217 ) - car tout le monde utilise 2 places chiffres après la virgule, le problème devient encore plus compliqué. A la fin de la journée, votre client doit préciser les règles qu'ils veulent mettre en œuvre ...

Il est frustrant qu'il n'y a pas de normes claires à ce sujet, à la fois pour guider le programmeur, et comme une défense devant le tribunal. Il suffit de faire arrondit « régulier » vers le plus proche de la paie peut conduire à sous-paiement par quelques centimes sur un chèque de paie ici et là, ce qui est des avocats du travail mangent comme le crack.

Bien que le taux de salaire de base pourrait bien être spécifiée que deux décimales ( « Embauché à 22,71 $ / heure »), des choses comme des heures supplémentaires mélangés (déterminée en faisant la moyenne de multiples taux de rémunération dans une période) finissent avec une efficacité taux horaire de 23.37183475 $ / h.

Comment trouvez-vous des heures supplémentaires ce payer?

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

Pourquoi avez-vous volons CINQ CENTS DE MON CLIENT? Malheureusement, je ne plaisante pas à ce sujet.

Cela devient encore plus mal à l'aise lorsque vous calculez à la pleine valeur de précision, mais afficher une version tronquée. Vous faites le premier calcul ci-dessus, mais afficher uniquement 23,37 $ pour le taux sur le talon de paie

Maintenant, les calculs stub de paie ne pas attacher sur le sou, et maintenant vous devez l'expliquer, mais même si elle est en faveur de l'employé, il peut être suffisant pour un avocat du travail au sang odeur dans l'eau et le démarrage la recherche d'autres choses.

Une approche est de toujours ronde en faveur de l'employé, et non pas dans le sens naturel, donc il ne peut jamais être une accusation de vol de salaire systématique.

Pensez à utiliser des entiers mis à l'échelle.

En d'autres termes, stocker des nombres entiers de quelques centimes au lieu de nombres fractionnaires de dollars.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top