webForumDet fria alternativet

-25 inte mindre än 1?

ASP

6 svar · 248 visningar · startad av LR^evil.sid

Medlem sedan maj 2002560 inlägg
Frågan#1

Resultatet efter utskriften: -25

EnVar = -25
If Int(EnVar) > 18 Then EnVar = 18: If Int(EnVar) < 1 Then EnVar = 1
Response.Write EnVar

Hur kommer det sig?

Medlem sedan mars 2000126 inlägg
#2

Mindre än

Vet inte vad du skall göra men så då. Då blir det ju 1.

EnVar = -25
If CInt(EnVar) > 18 Then EnVar = 18
If CInt(EnVar) < 1 Then EnVar = 1
Response.Write EnVar

//Broskan

Medlem sedan maj 2002560 inlägg
#3

Varför måste jag göra en CInt()? Borde det inte räcka med Int()?

Medlem sedan okt. 20023 030 inlägg
#4

Det borde räcka men antagligen så tolkar ASP -25 som en sträng. :)

Medlem sedan juni 20022 599 inlägg
#5

VB-scripttolken tolkar:

If Int(EnVar) > 18 Then EnVar = 18: If Int(EnVar) < 1 Then EnVar = 1

som:

If Int(EnVar) > 18 Then 
	EnVar = 18
	If Int(EnVar) < 1 Then 
		EnVar = 1
	end if
end if

och inte som:

If Int(EnVar) > 18 Then EnVar = 18
If Int(EnVar) < 1 Then EnVar = 1

(vilket man lätt skulle kunna tro). Det är det som är problemet, inte CInt eller Int (ingen av dem behövs i det här fallet).

Medlem sedan okt. 20023 030 inlägg
#6

Just det. Nu när du säger det verkar det lite bekant. :)

Medlem sedan maj 2002560 inlägg
#7

Så klart!

266 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)