Domanda

Qual è la differenza tra ASP/VBScript Int() E CInt()?

È stato utile?

Soluzione

La funzione Int restituisce la parte intera di un numero specificato.

La funzione CInt converte un'espressione nel tipo Integer.

E la risposta migliore viene da MSDN

CInt differisce dalle funzioni Fix e Int, che troncano, anziché arrotondare, la parte frazionaria di un numero.Quando la parte frazionaria è esattamente 0,5, la funzione CInt la arrotonda sempre al numero pari più vicino.Ad esempio, 0,5 arrotonda a 0 e 1,5 arrotonda a 2.

Altri suggerimenti

E la differenza più importante (almeno IME)... è che CInt trabocca a 32.767.

Ecco un'altra differenza:

Sceneggiatura:

wscript.echo 40.91 * 100
wscript.echo Int(40.91 * 100)
wscript.echo CInt(40.91 * 100)

risultato:

4091
4090   (????)
4091

qualche idea?

La solita risposta a questo problema è forzare manualmente un nuovo arrotondamento.Questo problema è vecchio quanto FORTRAN.

Invece di

a = int(40.91 * 100)

Utilizzo

b = 40.91 * 100
a = int(b + 0.5)

Trucco molto vecchio, ancora utile di tanto in tanto nei fogli di calcolo Excel.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top