Afrunding af tal
Hej, jeg har et bizart problemI et system hvor brugeren kan udfylde info om et produkt kan der indtastes en pris i et af to felter, et for danske kroner og et for euro. Det felt man ikke indtaster i skal så automatisk blive udfyldt med den korrekte tilsvarende pris, udregnet efter en fast kurs.
koden ser ud som følgende
function IsNumeric(sText)
{
var ValidChars = "0123456789";
var IsNumber=true;
var Char;
for (i = 0; i < sText.length && IsNumber == true; i++)
{
Char = sText.charAt(i);
if (ValidChars.indexOf(Char) == -1)
{
IsNumber = false;
}
}
return IsNumber;
}
function calculate(currency, kurs)
{
var dkkFelt = document.getElementById('emne_prisBrutto');
var euroFelt = document.getElementById('emne_prisBruttoEuro');
if(currency == 'DKK')
{
if(IsNumeric(dkkFelt.value))
euroFelt.value = Math.round(dkkFelt.value / kurs);
else
alert('Prisen skal skrives med tal.');
}
else if(currency == 'EURO')
{
if(IsNumeric(euroFelt.value))
dkkFelt.value = Math.round(euroFelt.value * kurs);
else
alert('Prisen skal skrives med tal.');
}
}
Funktionen bliver kaldt hendholdsvis med
onkeyup="calculate('DKK',7.44)"
og
onkeyup="calculate('EURO',7.44)"
Her kommer problemet så
Det virker perfekt i IE6 og FF2 på udviklingserveren. På vores live server virker det i FF2 men IKKE i IE6.
Koden er præcis den samme, og det er samme computer det bliver teste på.
Men hvor den skulle omregne 100 euro til 744 kr, bliver det kun 700, og omvendt omregner den 744 kr, til 106 euro.