Bedeutung IsNumeric...

  • VB.NET

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von Tukuan.

    Bedeutung IsNumeric...

    Hei Ho Leute :)
    Erstmal fröhliche Weihnachten :)

    VB.NET-Quellcode

    1. If IsNumeric(TextBox1.Text) = True Then
    2. TextBox2.Text = (TextBox1.Text - 100) * 0.9
    3. Else
    4. TextBox2.Text = "Err0r enter correct numbers!"
    5. End If


    Was bedeutet IsNumeric?

    Vielen Dank :)

    Edit by der_Kurt:
    Bitte aufs richtige Unterforum achten
    * Topic verschoben *

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „der_Kurt“ ()

    Zitat MSDN:
    IsNumeric gibt True zurück, wenn Expression den Datentypen Boolean, Byte, Decimal, Double, Integer, Long, SByte, Short, Single, UInteger, ULong oder UShort entspricht oder ein Object mit einem dieser numerischen Typen ist. Außerdem gibt es True zurück, wenn Expression ein Char oder eine String ist und in eine Zahl konvertiert werden kann.

    IsNumeric gibt False zurück, wenn Expression dem Date-Datentyp oder Object-Datentyp entspricht und keinen numerischen Typ enthält. IsNumeric gibt False zurück, wenn Expression ein Char oder eine String ist und nicht in eine Zahl konvertiert werden kann.

    Kurzum: IsNumeric gibt an, ob der übergebene Wert numerisch ist.
    IsNumeric gibt an, ob der übergebene Wert numerisch ist.
    Folglich kannst du den Ausdruck auch umkehren:

    VB.NET-Quellcode

    1. If not isNumeric(TextBox1.Text)
    2. 'Was soll passieren wenn Wert NICHT Numerisch ist.
    3. End if


    Nur so als kleiner Hinweis :)

    Aber warum ist dann...

    "11....1," auch numerisch?

    Moin Forum,

    Sobald allerdings ein Buchstabe oder ein anderes Zeichen als "." oder(!) "," auftaucht, ist es nicht mehr numerisch...
    Verstehe ich nicht.
    Kann mir jemand helfen?

    Gruß
    Tukuan
    . und , entsprechen wohl einem Komma oder aber einem Datumsformat. Deswegen gehört es quasi auch dazu, denn Double unterstützt ja Kommastellen, und dafür wäre , nötig. Wäre etwas doof, wenn anstelle von 1,23 dann 123 dastehen würde ;)
    Hi, wenn der Wert eine Zahl ist dann liefert IsNumeric True zurück. Wenn nicht dann False.
    Wenn irgendein Zeichen vorhanden ist wie ein a, dann liefert es false zurück, weil z.B. 1a4 keine Zahl ist.

    gruß, Trudi

    klar Dezimalzahlen

    Klar erkennt er Dezimalzahlen. Ist ja aber auch nicht der Punkt.

    Quellcode

    1. IsNumeric(".")'liefert False - Logisch finde ich
    2. IsNumeric("1.")'liefert True - Logisch finde ich
    3. IsNumeric("1,.")'liefert False - Logisch finde ich
    4. IsNumeric("1.,")'liefert True - UNLogisch finde ich
    5. IsNumeric("1..")'liefert True - UNLogisch finde ich
    6. IsNumeric("1..1,")'liefert Ture - UNLogisch finde ich
    7. 'und der Hammer:
    8. IsNumeric(".1")' liefert False - UNLogisch finde ich

    Ab dem 3. Beispiel sind es doch keine Zahlen mehr. Somit müßte er doch immer False ausgeben.
    Und dann das letzte Beispiel, wo jeder Mathematiker sagen würde: "Dat is ne Zahl".
    So kann man die Funktion doch nicht brauchen...!!!

    Und dann das letzte Beispiel, wo jeder Mathematiker sagen würde: "Dat is ne Zahl".

    Bei deinen Beispielen hängt das aber von der gesprochenen Sprache ab, bzw dem Zahlenformat (Dezimaltrenner, Stellentrenner!)


    Ist 1.200.000 eine gültige Zahl?
    Ist 1,200,000 eine gültige Zahl?

    Stellentrenner sind rein "optisch". Sie können beliebig oft vorkommen ... außer als ERSTES Zeichen.
    Übriges ist 1e3 eine Zahl, aber e12 nicht! Auch da könne man argumentieren, dass das eigentlich ja 0e23 hieße und somit Zahl wäre.