Brauche hilfe bei zahlen konvertieren y.y

  • Hallo Liebe Comunity ich hab folgendes Problem ich möchte auser einer zahl wie diese hier 1000000000 so eine zahl machen 1.000.000.000 ich suche seit 2 tagen ohne erfolg nun bitte ich um etwas hilfe ^^ weil ich mit autoit nur solche zahlen 100000000 zum rechnen nehmen kann soll es auch umgekehrt gehen die punke in der zahl sind rein zur leichtern erkennung da das man in den hunter tausend huntertausend bereichen unterscheiden kann würde mich über hilfe freuen Mfg MrsCylia

    Einmal editiert, zuletzt von MrsCylia (2. April 2011 um 16:40)

  • Die Funktion _StringAddThousandsSep() war mal Bestandteil der String-UDF.
    Sie wurde später aber wieder entfernt.
    Da sie aber immer noch ihren Zweck erfüllt kann man sie natürlich auch weiterhin benutzen:

    Spoiler anzeigen
    [autoit]

    MsgBox(0,"Zahl mit Tausenderpunkt", _StringAddThousandsSep(1000000000))

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

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _StringAddThousandsSep
    ; Description ...: Returns the original numbered string with the Thousands delimiter inserted.
    ; Syntax.........: _StringAddThousandsSep($sString[, $sThousands = -1[, $sDecimal = -1]])
    ; Parameters ....: $sString - The string to be converted.
    ; $sThousands - Optional: The Thousands delimiter
    ; $sDecimal - Optional: The decimal delimiter
    ; Return values .: Success - The string with Thousands delimiter added.
    ; Author ........: SmOke_N (orignal _StringAddComma
    ; Modified.......: Valik (complete re-write, new function name)
    ; Remarks .......:
    ; Related .......:
    ; Link ..........;
    ; Example .......; Yes
    ; ===============================================================================================================================
    Func _StringAddThousandsSep($sString, $sThousands = -1, $sDecimal = -1)
    Local $sResult = "" ; Force string
    Local $rKey = "HKCU\Control Panel\International"
    If $sDecimal = -1 Then $sDecimal = RegRead($rKey, "sDecimal")
    If $sThousands = -1 Then $sThousands = RegRead($rKey, "sThousand")
    Local $aNumber = StringRegExp($sString, "(\D?\d+)\D?(\d*)", 1) ; This one works for negatives.
    If UBound($aNumber) = 2 Then
    Local $sLeft = $aNumber[0]
    While StringLen($sLeft)
    $sResult = $sThousands & StringRight($sLeft, 3) & $sResult
    $sLeft = StringTrimRight($sLeft, 3)
    WEnd
    $sResult = StringTrimLeft($sResult, StringLen($sThousands)) ; Strip leading thousands separator
    If $aNumber[1] <> "" Then $sResult &= $sDecimal & $aNumber[1]
    EndIf
    Return $sResult
    EndFunc ;==>_StringAddThousandsSep

    [/autoit]
  • wow danke für die schnell hilfe is genau das was ich gesucht habe thx

    geht das mit dem command auch in die andere richtung sprich ich gebe 1.000.000.000 ein aber er solls als -> 1000000000 erkennen

    das erst klapt super nur umgekehrt hängts noch en bissel ^^


    mfg MrsCylia

    4 Mal editiert, zuletzt von MrsCylia (2. April 2011 um 04:49)