vb ja merkin tarkistus

Miten katson onko muuttuja merkki ???

Osaan kyl kattoo onko numero, mut miten katotaan onko merkki (kirjain) ?

IsNumeric(numero)

??????????(kirjain)
6455
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

Tuolla IsNumeric() funktiolla.
Jos arvo on numeerinen, ei siis sisällä merkkejä, se palauttaa arvon True,
jos siinä on merkki, tai merkkejä, arvo on False.

Vaikkapa näin.

Text1.Text = "1234"
Print IsNumeric(Text1.Text)
(tulostuu "True"


Text1.Text = "abcd"
Print IsNumeric(Text1.Text)
(tulostuu "False")

Äänestä
  • Kiitti, niinpä tietysti :). Jatkokysymys: miten tarkistan onko kokonaisluku?

    Äänestä

  • tack kirjoitti:

    Kiitti, niinpä tietysti :). Jatkokysymys: miten tarkistan onko kokonaisluku?

    Jos numeerisen muuttujan määrittelee Integer, se on kokonaisluku, sen arvoksi voi kyllä antaa vaikka 1.123, mutta tulostettaessa se on kuitenkin 1, eli desimaaliosa katoaa.

    Siksi tarvitaan määrittelyä Double jos halutaan käsitellä desimaalilukuja.

    Kokeile näin:

    Dim luku1 As Integer
    Dim luku2, luku3 As Double

    Private Sub Command1_Click()
    Print "luku1 = " & luku1 & " kokonaislukuesityksenä se on " & Int(luku1)
    Print "luku2 = " & luku2 & " kokonaislukuesityksenä se on " & Int(luku2)
    Print "luku3 = " & luku3 & " kokonaislukuesityksenä se on " & Int(luku3)

    Print

    'tutkitaan onko luku2 kokonaisluku ottamalla siitä Int-funktiolla kokonaislukuarvo
    'ja vertaamalla saatua arvoa alkuperäiseen lukuun
    If Int(luku2) = luku2 Then Print "luku2 on kokonaisluku"

    If Int(luku2) luku2 Then Print "luku2 ei ole kokonaisluku"

    End Sub

    Private Sub Form_Load()

    luku1 = 1.234
    luku2 = 12.34
    luku3 = 123

    End Sub

    Äänestä

  • tack kirjoitti:

    Kiitti, niinpä tietysti :). Jatkokysymys: miten tarkistan onko kokonaisluku?

    Dim i As Integer
    Dim d As Double
    Dim s As Single
    Dim l As Long
    MsgBox TypeName(i) & ", " & VarType(i)
    MsgBox TypeName(d) & ", " & VarType(d)
    MsgBox TypeName(s) & ", " & VarType(s)
    MsgBox TypeName(l) & ", " & VarType(l)

    Äänestä

  • Punikki & 7 hyypiötä kirjoitti:

    Dim i As Integer
    Dim d As Double
    Dim s As Single
    Dim l As Long
    MsgBox TypeName(i) & ", " & VarType(i)
    MsgBox TypeName(d) & ", " & VarType(d)
    MsgBox TypeName(s) & ", " & VarType(s)
    MsgBox TypeName(l) & ", " & VarType(l)

    ex_vbguruksi.
    Joo, eihän sitä ole viitsinyt opetella VB:sta kuin jotain.

    Tuo VarType -funktiokin on ollut näkymättömissä ja noin hyvä "kätsä" judanssi oli.

    Kiitos.

    Äänestä

  • vbguru? kirjoitti:

    ex_vbguruksi.
    Joo, eihän sitä ole viitsinyt opetella VB:sta kuin jotain.

    Tuo VarType -funktiokin on ollut näkymättömissä ja noin hyvä "kätsä" judanssi oli.

    Kiitos.

    >sitä ole viitsinyt opetella VB:sta kuin jotain
    kukapa sitä kaikkia kirjastoja luokkineen ja funktioineen ulkoa muistaa. sitä varten on helpit ja manuaalit.

    Äänestä

Kommentoi aloitusta


heeelp kirjoitti:

Miten katson onko muuttuja merkki ???

Osaan kyl kattoo onko numero, mut miten katotaan onko merkki (kirjain) ?

IsNumeric(numero)

??????????(kirjain)

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu