|
| CInt-maerkvaerdighed?? Fra : Jørn Andersen |
Dato : 30-07-01 16:40 |
|
Hej,
Er der nogen, der kan give en fornuftig forklaring på, hvorfor:
"When the fractional part is exactly 0.5, the CInt function always
rounds it to the nearest even number. For example, 0.5 rounds to 0,
and 1.5 rounds to 2."
- altså:
CInt(8.5) = 8
mens:
CInt(9.5) = 10
Jeg synes jo, at den burde runde af på samme måde, uanset om der er
tale om et lige eller ulige tal??
Mvh. Jørn
--
Jørn Andersen
Brønshøj
| |
Allan Ebdrup (30-07-2001)
| Kommentar Fra : Allan Ebdrup |
Dato : 30-07-01 20:20 |
|
"Jørn Andersen" <jorn.a@email.dk> skrev i en meddelelse
news:dmvamt0nktgq9lmdtlqfv0njoj5kcqmtjl@4ax.com...
> Hej,
>
> Er der nogen, der kan give en fornuftig forklaring på, hvorfor:
>
> "When the fractional part is exactly 0.5, the CInt function always
> rounds it to the nearest even number. For example, 0.5 rounds to 0,
> and 1.5 rounds to 2."
>
> - altså:
> CInt(8.5) = 8
> mens:
> CInt(9.5) = 10
>
> Jeg synes jo, at den burde runde af på samme måde, uanset om der er
> tale om et lige eller ulige tal??
Hej Jørn
Det er nok fordi CInt egentligt er beregnet til at konvertere TYPEN for tal
der allerede er heltal fx Long eller strenge som: "23".
Hvis du har en float (decimaltal) bør du enten benytte CInt(tal) eller
Round(tal) for at få en integer ud af det.
Men du har ret i at det er en mærkelig opførsel for CInt, den burde give en
fejlmedelelse.
MVH
Allan Ebdrup, 10-4 ApS
| |
|
|