Zahl mit DEUTSCHEN Zeichen (tausendertrennzeichen) umwandeln?

  • Hallo

    Ich habe eine zahl z.B. 4.300
    nun möchte ich damit rechnen. problem: autoit denkt es soll 4,3 bedeuten.

    1.230.560 z.B. bedeutet bei autoit 1.23056 oderso
    wie kann ich am effektivsten die punkte entfernen?

  • Hallo,
    hier mal ein Beispiel:

    Spoiler anzeigen
    [autoit]


    #include <String.au3>
    $zahl = InputBox(" Rechner", " Hier Ihre Rechnung eingeben !")
    MsgBox(64, " Resultat", "Das Ergebnis lautet: " & _
    _StringAddThousandsSep(StringReplace(Execute(StringReplace($zahl, ",", ".")), ".", ",")) & @TAB)
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    #cs
    ;$ergebnis = _StringAddThousandsSep(StringReplace(Execute(StringReplace($zahl, ",", ".")), ".", ","))

    [/autoit] [autoit][/autoit] [autoit]

    ; ### Ablauf von Innen nach Aussen ###
    ; Erstest StringReplace > wandeln der eingegebenen Kommata von $read in Dezimalpunkte
    ; Execute > ausführen der Berechnung
    ; Zweites StringReplace > wandeln der Dezimalpunkte der Berechnung von $read ausgeben in Kommata
    ; _StringAddThousandsSep > Ausgabe mit Tausenderpunkt
    ; ### $ergebnis = _StringAddThousandsSep(StringReplace(Execute(StringReplace($read, ",", ".")), ".", ",")) ###
    #ce

    [/autoit]


    ;)

  • Um eine Zahl zum Rechnen zu erstellen, sollte das funktonieren:

    [autoit]

    Func _NumToCalc($iNumber, $sThousandSep=".", $sDecimalPlace=",")
    Return Number(StringReplace(StringReplace($iNumber, $sThousandSep, ""), $sDecimalPlace, "."))
    EndFunc

    [/autoit]