Avatar billede jdr Nybegynder
02. maj 2001 - 09:55 Der er 12 kommentarer og
1 løsning

Øreafrunding

Jeg har et beløb i variablen ydelse_alt, og hvis ydelse_ialt f.eks er 94,78 skal dette beløb rettet til 94,75.
(Beløbet kan være alt muligt fra 3,78 til 9999,99)

Derudover skal jeg vide for meget der er rundet af i øre, samt om der er rundet op eller ned.
Disse 2 beløbet skal over i en anden variable.

Er der én som har en løsning på dette.
Avatar billede brian Nybegynder
02. maj 2001 - 10:48 #1
øre = Right(ydelse_alt, 2)
  If øre > 0 And øre < 25 Then
        If øre < 13 Then
            nedrund = øre
            tal = \"00\"
        Else
            oprund = 25 - øre
            tal = \"25\"
        End If
  ElseIf øre > 25 And øre < 50 Then
        If øre < 38 Then
            nedrund = øre - 25
            tal = \"25\"
        Else
            oprund = 50 - øre
            tal = \"50\"
        End If
  ElseIf øre > 50 And øre < 75 Then
        If øre < 63 Then
            nedrund = øre - 50
            tal = \"50\"
        Else
            oprund = 75 - øre
            tal = \"75\"
        End If
  ElseIf øre > 75 And øre < 100 Then
        If øre < 88 Then
            nedrund = øre - 75
            tal = \"75\"
        Else
            oprund = 100 - øre
            tal = \"00\"
            \' her skal der tages højde for at kr. skal forøges med 1
        End If
  End If

ikke så smukt, men det virker
Avatar billede jdr Nybegynder
02. maj 2001 - 12:59 #2
Hvis ydelse_ialt f.eks er 3,78 eller 3,98 nedrundes/oprundes er ikke til 3,50/4,00

Hvordan får jeg, hvis ydelse_ialt er kr. 105,5 til at være kr 105,50. Skal ydelse_ialt defineres som et eller andet.
Avatar billede brian Nybegynder
02. maj 2001 - 13:59 #3
øre = Right(ydelse_ialt, 2)
  If øre > 0 And øre < 25 Then
        If øre < 13 Then
            nedrund = øre
            tal = \"00\"
        Else
            oprund = 25 - øre
            tal = \"25\"
        End If
  ElseIf øre > 25 And øre < 50 Then
        If øre < 38 Then
            nedrund = øre - 25
            tal = \"25\"
        Else
            oprund = 50 - øre
            tal = \"50\"
        End If
  ElseIf øre > 50 And øre < 75 Then
        If øre < 63 Then
            nedrund = øre - 50
            tal = \"50\"
        Else
            oprund = 75 - øre
            tal = \"75\"
        End If
  ElseIf øre > 75 And øre < 100 Then
        If øre < 88 Then
            nedrund = øre - 75
            tal = \"75\"
        Else
            oprund = 100 - øre
            tal = \"00\"
            \' her skal der tages højde for at kr. skal forøges med 1
            krone = 1
        End If
  End If
If krone = 1 Then
  ydelse_ialt = ydelse_ialt + 1
End If
ny_ydelse = Mid(ydelse_ialt, 1, Len(ydelse_ialt) - 2) & tal

oprunding & nedrunding er i variablerne oprund-nedrund.

Det virker fint hvis man kører det i VB.
Avatar billede jdr Nybegynder
02. maj 2001 - 22:00 #4
Ja, det virker fint i VB, men ikke i en ASP fil.
Hvis ydelse_ialt er 1,98 er ny_ydelse = 1,00, ellers virker det fint
HVORFOR ?
Avatar billede brian Nybegynder
02. maj 2001 - 22:28 #5
Jeg laver lige en side du kan teste det på - øjeblik !
Avatar billede brian Nybegynder
02. maj 2001 - 23:02 #6
Afprøv scriptet på : http://213.237.16.203/temp/indtast.asp

Jeg er på en times tid endnu - ellers er jeg på igen imorgen med samme ip
Avatar billede brian Nybegynder
02. maj 2001 - 23:10 #7
Scriptet er lavet over 2 sider for en bedre kontrol (dermed har du også mulighed for at kontrollere andre ting/tal).
Det kan selvfølgelig gøres meget anderledes men da jeg ikke lige ved hvad du skal bruge det til håber jeg at du selv kan rette det til.
Avatar billede brian Nybegynder
03. maj 2001 - 00:01 #8
har du testet det ??? jeg er ved at lukke ned for i dag.
Avatar billede jdr Nybegynder
03. maj 2001 - 11:20 #9
Ja det virker fint, hvad gør jeg galt. Er koden på http://213.217.16.203/temp/indtast.asp den samme koden som jeg benytter
Avatar billede brian Nybegynder
03. maj 2001 - 12:02 #10
Det ved jeg ikke - har du en mailadr så sender jeg lige filerne til dig
Avatar billede brian Nybegynder
03. maj 2001 - 12:09 #11
Koden for indtast.asp :

<html>
<head>
<title>Afrunding af øre-beløb</title>
</head>

<body bgcolor=\"#2E6992\" leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\">

<table width=\"100%\" height=\"100%\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<!-- HER STARTER FORMULAREN -->
    <form action=\"kontrol.asp\" method=\"post\" name=\"kontrolform\">
    <b>Indtast beløb&nbsp; :</b>
    <input type=\"text\" name=\"Tal\" size=\"20\">
    <input type=\"submit\" value=\"Udregn\">
    </form>
<!-- HER SLUTTER FORMULAREN -->
</body>
</html>


koden for kontrol.asp :

<html>
<head>
<title>Beløb er afrundet</title>
</head>

<body bgcolor=\"#2E6992\" text=\"#FFFFFF\" link=\"#FFFFFF\" vlink=\"#FFFFFF\" alink=\"#FFFFFF\">
<br><br><br><br><b>
<%
ydelse_ialt=request.form(\"tal\")

  ore = Right(ydelse_ialt, 2)
  If ore > 0 And ore < 25 Then
        If ore < 13 Then
            nedrund = ore
            tal = \"00\"
        Else
            oprund = 25 - ore
            tal = \"25\"
        End If
  ElseIf ore > 25 And ore < 50 Then
        If ore < 38 Then
            nedrund = ore - 25
            tal = \"25\"
        Else
            oprund = 50 - ore
            tal = \"50\"
        End If
  ElseIf ore > 50 And ore < 75 Then
        If ore < 63 Then
            nedrund = ore - 50
            tal = \"50\"
        Else
            oprund = 75 - ore
            tal = \"75\"
        End If
  ElseIf ore > 75 And ore < 100 Then
        If ore < 88 Then
            nedrund = ore - 75
            tal = \"75\"
        Else
            oprund = 100 - ore
            tal = \"00\"
            \' her skal der tages højde for at kr. skal forøges med 1
            krone = 1
        End If
  End If
If krone = 1 Then
  ydelse_ialt = ydelse_ialt + 1
End If
ny_ydelse = Mid(ydelse_ialt, 1, Len(ydelse_ialt) - 2) & tal
if oprund > 0 and krone=0 then
    response.write \"Beløbet \" & ydelse_ialt & \" er oprundet med \" & oprund & \" ører - til kr. \" & ny_ydelse
elseif oprund>0 and krone>0 then
    response.write \"Beløbet \" & ydelse_ialt-1 & \" er oprundet med \" & oprund & \" ører - til kr. \" & ny_ydelse
end if
if nedrund > 0 then response.write \"Beløbet \" & ydelse_ialt & \" er nedrundet med \" & nedrund & \" ører - til kr. \" & ny_ydelse
%>
</b>
</body>
</html>
Avatar billede jdr Nybegynder
03. maj 2001 - 20:12 #12
Du får mange tak for hjælpen, nu kan jeg også få det til det virke. Du må undskylde de lange svartider jeg levere, da du selv er meget hurtig ude med svar. Endnu tak for hjælpen.
Avatar billede brian Nybegynder
03. maj 2001 - 22:41 #13
selv tak - skulle det være en anden gang !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester