Asp/Vb-script geni søges til løsning af scriptfejl; ProdukUdregning; Vb, Vba, Asp
Jeg bøvler med et program, hvor at jeg via et asp-dokument skal lave en faktura, hvor at resultat skal vises altid med 2 decimaler, eks. kr. 89,95, udanset om det har decimaler 12,5 --> 12,50 eller ej 74 --> 74,00Til det formål har jeg lavet en kode i asp som virker, men har enkelte undtagelser. For at teste om dette var et rent tilfælde, omskrev jeg det vbscript for at se om det virkede der, men med samme resultat.
Koden ser således ud:
-----------------------------------------------------------------
<html>
<head>
</head>
<body>
<html>
<head>
</head>
<body>
<Script Language="VBS">
'Denne funktion sikre at et tal altid har 2 decimaler.
'Men prøv at sætte antal til 5800
'og sæt pris til et sted imellem 1,34 og 1,37
'når du gør dette, vil funktioner tilsidesættes, med hvorfor?
'Prøv at fordouble eller halvere tallene, samme problem,
'også når man vender tallene omvendt (altså indføre 5800 til sidst),
'så det er ikke rækkefølgen der er noget galt med, men selve tallet.
Antal = Inputbox("Indfør venligst et antal")
Pris = Inputbox("Angiv en pris per styk")
No = Antal * Pris
msgbox No ' Checker summen af tallene (kun som test)
If 100 * No = Int(100 * No) then ' checker for mere end 2 decimaler (i så fald vil betingelse ikke være opfyldt)
if 10 * No = Int(10 * No) then ' checker om nummeret fra nøjagtig 2 decimaler (i så fald vil betingelse ikke være opfyldt)
If No = Int(NO) then ' ' checker om nummeret fra nøjagtig 1 decimal (i så fald vil betingelse ikke være opfyldt)
msgbox Tmp2 & No & ",00" & chr(13) & chr(10) ' 0 Decimaler
Else
msgbox Tmp2 & No & "0" & chr(13) & chr(10) ' 1 Decimal
End if
Else
msgbox Tmp2 & No & chr(13) & chr(10) ' 2 Decimaler
End if
Else
msgbox Tmp2 & Int(100 * No) / 100 & chr(13) & chr(10) ' (Mere end) 2< decimaler
End if
</Script>
</body>
</html>
-----------------------------------------------------------------
Jeg er selvfølgelig åben for andre forslag, men ser helst at denne fejl kunne løse direkte uden at skulle ændre på for meget kode da det skal skrives tilbage til asp når fejlen er fundet...
en anden "detalje" kan det passe at true false kontra sandt falsk i Ie 8 gør at jeg skal køre uk version og ikke kan køre server Dk og client Dk
På forhånd tak.