Möglichkeit einem String-Wert einem Integer zuzuweisen?

  • Allgemein

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Möglichkeit einem String-Wert einem Integer zuzuweisen?

    Hallo Leute!

    Wollte nur mal wissen, ob es eine Möglichkeit gibt, einem Stringwert einen Integerwert zuzuweisen?

    Also wenn ich zum Beispiel irgendwo Januar hinschreiben, das Programm mit einer 1 rechnet... o.ä.?
    Nein, nein und nochmals nein.
    1. Option Strict On
    2. nimm ein DateTime-Objekt, mit dem kannst Du wunderbar rechnen.
    3. Beschreib bitte mal Dein Problem ordentlich.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    ElNinja schrieb:

    Ein einfaches Nein hätte genügt
    Wenn Du Dir hier Beiträge anderer User liest mit solch Problemen bist Du mit den 3 Neins echt gut bedient. :D
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Also wenn du zB.

    VB.NET-Quellcode

    1. Dim LokalerString as String = "1234567"
    hast, dann kannst du den, auch wenn es nicht schön ist, mit CInt übergeben:

    VB.NET-Quellcode

    1. Dim LokalesIntger as Integer = CInt(LokalerString)


    Hier werden aber einige sagen "Ey dass ist aber nicht so schön", ...
    aber es erfüllt den Zweck des
    Stringwert einen Integerwert zuzuweisen


    Um das ganze dann aber mit verschiedenen Daten (zb. um die Zeit-Differrenz zu bestimmen) zu machen, nimm das von RodFormGermany genannte
    DateTime-Objekt
    Du kannst natürlich auch ein Select Case verwenden...

    VB.NET-Quellcode

    1. Select Case txt_Monat.Text
    2. Case Januar
    3. variable = 1
    4. Case Februar
    5. variable = 2
    6. Case März
    7. variable = 3
    8. 'und so weiter... und so weiter...


    Von dieser Lösung rate ich dir allerdings ab...
    DateTime-Objekt ist da wirklich die bessere Lösung
    Ich Antworte nach bestem Wissen und Gewissen. Ich übernehme keine Garantie für die Richtigkeit oder Fehlerfreiheit meiner Texte.


    Ich konnte dir helfen?
    - Das ist schön :) Ich würde mich über ein "Hilfreich" freuen ^^

    Don_Batisto schrieb:

    aber es erfüllt den Zweck des
    Strümpfe-Anziehens mit Hilfe eines Krans. :rolleyes:
    @misbe2010: Dafür gibt es DateTime.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany Habe ihm ja nur eine mögliche Lösung vorgestellt und nachträglich auch
    Von dieser Lösung rate ich dir allerdings ab...
    DateTime-Objekt ist da wirklich die bessere Lösung
    angefügt... :D
    Ich Antworte nach bestem Wissen und Gewissen. Ich übernehme keine Garantie für die Richtigkeit oder Fehlerfreiheit meiner Texte.


    Ich konnte dir helfen?
    - Das ist schön :) Ich würde mich über ein "Hilfreich" freuen ^^

    misbe2010 schrieb:

    Von dieser Lösung rate ich dir allerdings ab...
    ist doch nicht die feine Art, einem Fragesteller erst einen großen Berg Grütze vorzuwerfen und dann im Kleingedruckten zu schreiben, dass die Grütze Grütze ist. X(
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    /sign

    um nochmal auf post#3 zu kommen: Hat sich jetzt wohl geklärt, warum auf diese harmlose Frage so vehement geantwortet werden muß: In 99% der Fälle hat der Programmierer das Typsystem nicht verstanden, wenner eine Zahl oder ein Datum einem String zuweisen will.
    String ist für Text - für Zahlen sind Integer da, und für Datumse gibts DateTime

    Text, Zahlen, Datumse sind numa grundverschiedene Dinge inne Wirklichkeit, und sie sind auch inne Programmiersprache grundverschieden.
    Die Verschiedenheit ist essentiell, etwa Text kann man beliebig aneinanderhängen, Zahlen kann man addieren, zwischen Datumsen kann man Zeitspannen ausrechnen, und alle (Text, Zahlen, Datumse) kann man sortieren - aber auf je andere Weise...
    Allerdings kann man ein Datum in einen String konvertieren, und bei geeigneten Strings kann man auch ein Datum auslesen. Solche Konvertierungs-Prozesse sind aber umständlich, aufwändig und riskant, also man sollte gute Gründe haben, sowas zu machen, ansonsten es bitte bitte lassen!

    ElNinja schrieb:

    Hallo Leute!

    Wollte nur mal wissen, ob es eine Möglichkeit gibt, einem Stringwert einen Integerwert zuzuweisen?

    Also wenn ich zum Beispiel irgendwo Januar hinschreiben, das Programm mit einer 1 rechnet... o.ä.?

    Ah - vlt suchst du was ganz anneres, nämlich Enumerationen:

    VB.NET-Quellcode

    1. public Enum Month As Integer:Januar=1:Februar:März:April:Mai:Juni:Juli:August:September:Oktober:November:Dezember: End Enum
    Jetzt kannst du damit sogar rechnen

    VB.NET-Quellcode

    1. Dim apr = Month.Februar + 2
    2. MessageBox.Show(apr.ToString)
    Informiere dich über Enums: dieses Buch lesen (hingegen das Galileio-Openbook ist Mist)