dagar = dag1 - dag2
If NOT CInt(dagar) = 0 Then
kvot = 41/CInt(dagar)
If i Mod kvot = 0 Then
x = x - 1
End If
End If
Kanske?
7 svar · 292 visningar · startad av ampy
Har denna kod:
kvot = 41/(dag1-dag2)
[B]if i mod kvot = 0 then[/B]
x = x - 1
end if
På raden med fetstil får jag föjande felmeddelande:
Körningsfel i Microsoft VBScript fel '800a000b'
Division med noll
Variabeln kvot innerhåller aldrig ett värde under 0. Inte heller variabeln i. Varför får jag detta felmeddelande ändå?
dagar = dag1 - dag2
If NOT CInt(dagar) = 0 Then
kvot = 41/CInt(dagar)
If i Mod kvot = 0 Then
x = x - 1
End If
End If
Kanske?
Hjälper tyvärr inte. Har skrivit ut variablerna och dom innehåller dessa värden:
kvot = 0,36283185840708
i = 1
If i Mod Int(kvot) = 0 Then?
Sebbe skrev:
If i Mod Int(kvot) = 0 Then?
Kommer inte heller funka. Om jag använder funktionen Int på variablen kvot så kommer den få värdet 0. Jag har testat med funktionen round istället men funkar inte då heller.
Operatorn MOD gör automatiskt en avrundning till närmaste heltal. Det innebär det faktiskt blir 1 mod 0, därav felmeddelandet.
Mvh,
@nders skrev:
Operatorn MOD gör automatiskt en avrundning till närmaste heltal. Det innebär det faktiskt blir 1 mod 0, därav felmeddelandet.
Mvh,
Hur ska man göra istället då?
Du kan ju alltid multiplicera båda talen med ett tusen eller liknande. Förhållandet är väl ändå det samma?