Schweizer und argentinische Währung vierstellige Dezimalstellen

8

Beim Runden von Währungsbeträgen mit dem Algorithmus für Schweizer Franken werden die zweite und dritte Dezimalziffer berücksichtigt. Wenn sie kleiner als 26 sind, werden sie auf 0 abgerundet; ansonsten wenn weniger als 76, abgerundet auf 5; sonst wird der ganze Wert aufgerundet.

%Vor%

Was passiert, wenn der zu rundende Betrag eine höhere Dezimalzahl hat? Werden alle Dezimalziffern nach dem dritten einfach ignoriert (Wert wird abgeschnitten) oder wird der Wert zuerst auf drei Dezimalstellen zuerst gerundet? Als Beispiel betrachte man Trunkierung gegenüber einer "Math.round ()" - Methode (weniger als 0,5 Runden, sonst Abrundung):

%Vor%

Wie oben gezeigt, variieren diese Randfälle sehr stark im Endergebnis.

Die argentinische Währungsrundung folgt einem ähnlichen Modell, das sich nur mit der dritten Dezimalziffer beschäftigt. Obwohl das gerundete Ergebnis zwei oder drei Dezimalstellen haben kann, gilt das gleiche Prinzip; Wenn der zu rundende Wert vier oder mehr Dezimalziffern hat, sollte der Algorithmus nur etwas nach der dritten Ziffer abschneiden oder sollte er eine andere Art von Zwischenrundung anwenden, um zuerst ein Ergebnis mit drei Dezimalstellen zu erhalten?

Danke!

    
Andrew Hodgkinson 27.02.2011, 16:09
quelle

1 Antwort

3
  

Wenn sie kleiner als 26 sind, werden sie auf 0 abgerundet; ansonsten wenn weniger als 76, abgerundet auf 5; sonst wird der ganze Wert aufgerundet.

Damit würde ich annehmen, dass die "Trunkierung" -Methode angemessen wäre, da 0,0259XXXXX weniger als 0,026

ist     
lesscode 27.02.2011, 16:13
quelle

Tags und Links