ampyMedlem sedan feb. 20011 498 inlägg 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å?
SebbeMedlem sedan jan. 20032 285 inlägg 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?
ampyMedlem sedan feb. 20011 498 inlägg Hjälper tyvärr inte. Har skrivit ut variablerna och dom innehåller dessa värden:
kvot = 0,36283185840708
i = 1
SebbeMedlem sedan jan. 20032 285 inlägg If i Mod Int(kvot) = 0 Then?
ampyMedlem sedan feb. 20011 498 inlägg
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.
@ndersMedlem sedan juni 200032 969 inlägg Operatorn MOD gör automatiskt en avrundning till närmaste heltal. Det innebär det faktiskt blir 1 mod 0, därav felmeddelandet.
Mvh,
ampyMedlem sedan feb. 20011 498 inlägg
@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å?
@ndersMedlem sedan juni 200032 969 inlägg Du kan ju alltid multiplicera båda talen med ett tusen eller liknande. Förhållandet är väl ändå det samma?