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
Brauche hilfe bei zahlen konvertieren y.y
-
- [ gelöst ]
-
MrsCylia -
1. April 2011 um 13:41 -
Geschlossen -
Erledigt
-
-
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# ====================================================================================================================
[/autoit]
; 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 -
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
-
- Offizieller Beitrag
Das kannst Du einfach mit StringReplace machen:
[autoit]
[/autoit]
$sNumber = '1.000.000.000'
$sNumber = StringReplace($sNumber, '.', '')
ConsoleWrite($sNumber & @CR) -
jo thx noch mal jetzt klapt alles so wie es soll thx Oscar und Junkie