devotionMedlem sedan jan. 20013 582 inläggFrågan#1 :)
Hmm, rubriken blev ju kul...
Jag vill göra en funktion som räknar ut antalet kvartar med antalet timmar som argument.
Typ:
Function GetQuarters(tmAmount)
GetQuarters=tmAmount/0,25
End function
Hur gör man funktionen så bra som möjligt? Dvs att om antalet antalet kvartar inte går jämt ut, skall det avrundas uppåt?
Mvh
Henrik
ZaimanMedlem sedan dec. 20014 239 inläggVarje timme har bara fyra kvartar (skriver man så?) Så det blir omöjligt att få tre kvartar och lite till på en timme.
devotionMedlem sedan jan. 20013 582 inläggJo, men om jag har tex 1,8 timmar så blir det ju 7,2 kvartar. Det måste ju bli jämt antal kvartar liksom... :) (I detta fallet skall det bli 8)
Mvh
Henrik
ZaimanMedlem sedan dec. 20014 239 inläggAha.. Det var så du menade.
Jag missförstod.
@ndersMedlem sedan juni 200032 967 inläggIngemar Stenmark brukar alltid säga: "Hä' bar' å fix."
http://msdn.microsoft.com/en-us/library/t4dseb50(VS.85).aspx
devotionMedlem sedan jan. 20013 582 inläggKanske så här:
Function GetQuarters(tmAmount)
If isnumeric(tmAmount) then
GetQuarters=Int(tmAmount/0,25)
else
GetQuarters=0
end if
End function
?
Mvh
Henrik
@ndersMedlem sedan juni 200032 967 inläggJa, men då är ju inte mitt svar lika roligt.
- - -
Du kanske måste typkonvertera tmAmount innan du räknar med det - jag vet inte vad du skickar in i funktionen.
Räkna ut antalet minuter, dela på 15.
GetQuarters = (tmAmount * 60) / 15
LaspMedlem sedan juli 200012 978 inläggKvartar skall alltså vara ett heltal.
Ta minuter och dela med femton Modulo +1
GeinMedlem sedan sep. 20005 700 inlägg
devotion skrev:
Function GetQuarters(tmAmount)
If isnumeric(tmAmount) then
GetQuarters=Int(tmAmount/0,25)
else
GetQuarters=0
end if
End function
Det där kommer alltid att avrunda neråt. För Int beter sig väl så även i VB? Lägg på 0.5 innan du kör Int så får du "korrekt" avrundning.
@ndersMedlem sedan juni 200032 967 inlägg
Gein skrev:
Det där kommer alltid att avrunda neråt. För Int beter sig väl så även i VB? Lägg på 0.5 innan du kör Int så får du "korrekt" avrundning.
Hmm, jag läste lite fel i min länk. Jag tror att du har helt rätt!
Annars kan man ju krångla enl. Lasps förslag med en heltalsdivision och lägga på ett om du får någon rest.