[ Aleksandar Ružičić @ 30.12.2004. 17:20 ] @
Kako da vidim da li mi je neki broj (u stringu!) ceo broj? Meni na pamet pada jedino da potrazim . ili , u tom stringu? (koliko je ovo resenje dobro i da li uopste postoji neko drugo?) |
[ Aleksandar Ružičić @ 30.12.2004. 17:20 ] @
[ Pr[o_O]F @ 30.12.2004. 18:44 ] @
Jedino sto mi pada na pamet je da broj zaokruzis s komandom
Code: 'Ovo ubacis u Sub Select Case IsNumeric(Text1.Text) 'ovo provjerava da li je uopce broj! Case True If Text1.text=Round(text1.text,0) then 'ako je broj iz textboxa jednak njegovoj msgbox "Broj je cio! 'zaokruzenoj vrijednosti onda... else msgbox "Broj nije cio!" end if Case Else MsgBox "Nije broj!", vbOKOnly, "Greska!" End Select [ kiky @ 31.12.2004. 20:58 ] @
Mozda je ipak laksi nacin:
Dim A as string Dim B as integer If Not isNumeric(A) then exit sub B= CInt(A) * 2 / 2 if cInt(A)-B<>0 then msgbox "Broj je ceo" else msgbox "Broj nije ceo" end if [ Aleksandar Ružičić @ 01.01.2005. 21:58 ] @
hvala ljudi!
[ Shadowed @ 01.01.2005. 23:49 ] @
Ili malo optimizovano :):
Code: Dim A as string If Not isNumeric(A) Then Exit Sub if cInt(A) = A then MsgBox "Broj je ceo" Else MsgBox "Broj nije ceo" End If [ Aleksandar Ružičić @ 02.01.2005. 00:25 ] @
![]() ![]() kako se toga nisam setio??? hvala shadowed! [ Shadowed @ 02.01.2005. 00:33 ] @
Isto moze sa Int() umesto CInt(). Trebalo bi testirati koja je brza ;).
Ili mozda... Code: Dim A as string If isNumeric(A) and cInt(A) = A Then MsgBox "Broj je ceo" Else If isNumeric(A) Then MsgBox "Broj nije ceo" End If A ako ti je nebitno kakav je ukoliko vec nije ceo: Dim A as string : If isNumeric(A) and cInt(A) = A Then MsgBox "Broj je ceo" [ Aleksandar Ružičić @ 02.01.2005. 15:41 ] @
hmm, izgleda da je Int brza :o)
a uostalom meni je samo trebalo da vidim da li je broj deljiv sa 4... ajd zdravo! [ Marko_L @ 02.01.2005. 16:40 ] @
Citat: a uostalom meni je samo trebalo da vidim da li je broj deljiv sa 4... Pa što onda tako nisi pitao :) Code: Dim A As String If Not IsNumeric(A) Then Exit Sub If A Mod 4 = 0 Then Msgbox "Broj je deljiv sa 4" [ Shadowed @ 02.01.2005. 19:08 ] @
Sta je vama ljudi :).
Dim A As String : If IsNumeric(A) And (A Mod 4 = 0) Then Msgbox "Broj je deljiv sa 4." P.S. Ako sam dosadan, kazite :) [ Aleksandar Ružičić @ 02.01.2005. 23:36 ] @
nisi dosadan shadowed
![]() ![]() za sta uopste sluze ti operatori tipa MOD, XOR, AND, OR nisam nigde nasao objasnjenje toga (iskreno nisam ni trazio)? [ Shadowed @ 03.01.2005. 00:18 ] @
Mod je ostatak pri deljenju a And, Or i Xor su logicke operacije.
Code: True And True = True True And False = False False And True = False False And False = False True Or True = True True Or False = True False Or True = True False Or False = False True Xor True = False True Xor False = True False Xor True = True False Xor False = False [Ovu poruku je menjao Shadowed dana 03.01.2005. u 01:54 GMT+1] [ reiser @ 03.01.2005. 00:18 ] @
div vraca celobrojni deo kolicnika (10 div 3 = 3)
mod vraca celobrojni ostatak (10 mod 3 = 1) Za NOT, AND, OR, XOR, SHL & SHR najbolje konsultuj MSDN [ Dark Icarus @ 07.01.2005. 17:52 ] @
SHL i SHR ??? u VBu??? Gde?
[ goranvuc @ 13.08.2006. 17:51 ] @
Citat: krckoorascic: hmm, izgleda da je Int brza :o) a uostalom meni je samo trebalo da vidim da li je broj deljiv sa 4... ajd zdravo! Treba obratiti paznju kod primene CInt funkcije na ovaj nacin; ukoliko string koji se konvertuje izlazi van opsega Integer dobice se overflow greska npr. Code: Debug.Print CInt("123456789") 'Greska pa je u ovim slucajevima bolje koristiti Int funkciju, u sprezi sa IsNumeric, npr. Code: Dim A As String Dim B As Integer A = "123456789" B = IIF(IsNumeric(A), Int(A), 0) If CStr(B) = A Then If B >= -32768 And B <= 32768 Then MsgBox "Broj je ceo" Else MsgBox "Broj je van celobrojnog opsega" End If Else MsgBox "Broj nije odgovarajuci" End If Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|