Announcement

Collapse
No announcement yet.

Variablen-Konvertierung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Variablen-Konvertierung

    Hi,

    ich habe ein Problem mit der Konvertierung von String-Variablen.
    VB-Net sieht bei Dezimalzahlen den "." als ",". Also den Tausenderpunkt als Komma und das Komma als Tausenderpunkt.
    .
    Ich benutze nun eine Access-Datenbank und möchte eine String-Variable mit Zahleninhalt in ein Dezimalfeld speichern. Das jedoch funktioniert nicht, da Access die deutsch Variante, VB-Net aber die amerikanische Version möchte.
    .
    Da ich auf eine mir vorgegebene Textdatei zugreifen muß und diese erst in verschiedene Daten aufteilen, bevor ich damit rechnen kann, bekomme ich hier leider große Probleme.
    .
    Hat vielleicht irgendjemand einen Lösungsvorschlag für mich:
    .
    bei:
    zahl = val(variable)
    habe ich genau das von mir oben beschriebene Problem.

  • #2
    Hallo,
    über die <b>NumberFormatInfo</b>-Klasse legt die Eigenschaft <b>NumberDecimalSeparator</b> fest, welches Zeichen die Nachkommastellen abtrennen soll:
    <code>
    Dim aNFI As NumberFormatInfo = DirectCast(NumberFormatInfo.CurrentInfo.Clone, NumberFormatInfo)
    aNFI.NumberDecimalSeparator = ","
    aNFI.NumberGroupSeparator = " "
    Dim iValue As Double = Convert.ToDouble("24 125,75", aNFI)
    TextBox1.Text = iValue.ToString()
    </code&gt

    Comment


    • #3
      Hi, danke für deine schnelle Reaktion.

      Das "numberformatinfo wird bei der initialisierung schon blau als falsch unterstrichen. Muss ich die Klasse erst irgendwo benennen, damit vb sie kennt? (also direkt nacht dim aNFI As ..... ab dem = ist vb wieder zufrieden!

      Comment


      • #4
        Hallo,
        jede Klasse ist in einem bestimmten <i>Namespace</i> untergebracht, wobei das Hilfesystem für die Klasse NumberFormatInfo den Namespace <b>System.Globalization</b> aufführt. Somit stehen 2 Wege offen:
        <br>
        1. Über <i>Imports System.Globalization</i> den Namespace einbinden, oder <br>
        2. Über <i>Dim aNFI As System.Globalization.NumberFormatInfo</i> den vollständig qualifizierten Klassennamen verwenden.
        <br&gt

        Comment

        Working...
        X