Err Msg met behulp van CInt() functie: Type komt niet overeen


Samenvatting


In Microsoft Visual Basic Programming System Edition toepassingen, als u de functie CInt() met een tekenreeks die niet kan worden geconverteerd naar een getal, wordt het volgende foutbericht weergegeven:
Runtime-fout '13':

Typen komen niet overeen

Meer informatie


De functie CInt converteert een expressie naar een geheel getal. U kunt een willekeurige geldige numerieke of tekenreeksexpressie, maar de tekenreeksexpressie moet kunnen worden geconverteerd naar een getal. De referentie voor Visual Basic geeft u de functie CInt moet gebruiken in plaats van de functie Val voor internationaal correcte conversies van het andere gegevenstype integer. Echter, de twee functies gedragen zich niet precies hetzelfde.


Wanneer u de functie Val gebruikt om terug te keren de getallen in een tekenreeks, wordt alleen het eerste numerieke teken in de tekenreeks geretourneerd. Terwijl de functie Val retourneert alleen het numerieke deel van een tekenreeksexpressie is, retourneert de functie CInt het bovenstaande foutbericht wordt weergegeven als de tekenreeksexpressie kan niet worden geëvalueerd als een getal.


Hieronder volgt een tabel van expressies en waarden die door de CInt en Val functies.

   Expression                    Value Returned
--------------------------------------------
Val("1726 56th Ave NE") 172656
CInt("1726 56th Ave NE") Error message
Val("asdf") 0
Cint("asdf") Error message
Val("1,000") 1
CInt("1,000") 1000
Val("1.34") 1.34
CInt("1.34") 1


Omdat de Val-functie de waarde 0 gebruikt in combinatie met een expressie die op alle 0 of geen getallen bevat retourneert, kunt u deze niet gebruiken om te testen of een invoerreeks een ongeldig getal is. Echter, kunt u de functie CInt in een procedure om te bepalen of een invoerreeks een ongeldig getal is.

Referenties


Voor meer informatie over de functie CInt, kies de knop Zoeken in de Visual Basic Reference en typt:

CInt