Hallo,

in einem Forumsbeitrag kam die Frage nach der Rappenrundung auf. Anbei findet ihr ein SCript, das genau diese Anforderung löst.
//--------------------------------------------------------------------------------------------------------------
// Funktion: getRoundCHFValue(value)
// Die Funktion "getRoundCHFValue" erwartet als Parameter eine Zahl.
// Liefert die gerundete Dezimalzahl dieser Zahl zurück.
// Implementierung nach Vorgabe der rappenrundung in Wikipedia
//
// Parameter:
// value = Eine Zahl.
// (z.B. 128.51 oder 128.56 u.s.w.)
//
// Rückgabe:
// Der Wert wird als Dezimalzahl zurückgegeben (z.B. 128.55 oder 128.60 u.s.w.), sonst 0 (Fehler u.s.w.)
//--------------------------------------------------------------------------------------------------------------

getRoundCHFValue = function(value) {
var sAmount = "";
var iNachkommastelle;
var dAmount = 0.00;
var iWert = 0;

sAmount = new String(value);

if (sAmount != "") {
iNachkommastelle = sAmount.lastIndexOf(".");

if (iNachkommastelle = 0)
iNachkommastelle = sAmount.length - iNachkommastelle - 1;

if (iNachkommastelle >= 3)
iWert = parseInt(sAmount.substring(sAmount.length - iNachkommastelle + 1, sAmount.length - iNachkommastelle + 3));

dAmount = sAmount;

dAmount = dAmount / 5;
dAmount = Math.round(dAmount * 100) / 100;
dAmount = dAmount * 5;

sAmount = dAmount;
}

return parseFloat(sAmount);
}