Zahlen eines Strings addieren

  • Hallo erstmal,

    ich bin auf der Suche nach der möglichkeit die Zahlen eines ausgelesenen Strings zu addieren. Bietet AutoIT mir da irgendwie eine Möglichkeit. :wacko:

    Vielen Dank im vorraus

    Einmal editiert, zuletzt von Dirk Roth (16. April 2008 um 10:28)

    • Offizieller Beitrag
    [autoit]

    Global $z = "123"

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

    ConsoleWrite(addDigits($z) & @CRLF)

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

    Func addDigits($zahl)
    Local $zahlen_A = StringSplit($zahl, '')
    Local $x = 0
    For $i = 1 To UBound($zahlen_A) - 1
    $x += $zahlen_A[$i]
    Next
    Return $x
    EndFunc ;==>addDigits

    [/autoit]
  • Ups, da wohl einer schneller. Hier trotzdem noch eine andere Lösung:

    [autoit]

    #include-once

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

    Global $s_numbers = "10bla5hugo7"
    MsgBox(64, "_StringAddDigits", _StringAddDigits($s_numbers, 0))

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

    ;===============================================================================
    ; Function Name.....: _StringAddDigits
    ; Description.......: Adds all digit (0-9) characters in a string.
    ; Version...........: 1.0
    ; Change Date.......: 2008-04-07
    ; AutoIt Version....: 3.2.10.0
    ;
    ; Parameter(s)......: $S_TEXT - The string to sum up.
    ;
    ; Requirements(s)...: None
    ; Return Value(s)...: Returns the result of the addition.
    ;
    ; Author(s).........: teh_hahn <[email='sPiTsHiT@gmx.de'][/email]>
    ; Company...........: None
    ; URL...............: None
    ; Note(s)...........: None
    ;===============================================================================
    Func _StringAddDigits(Const $S_TEXT, Const $I_FLAG = 1)
    Local $i_res = 0

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

    For $i = 1 To StringLen($S_TEXT)
    $i_res += StringMid($S_TEXT, $i, 1)
    Next

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

    Return $i_res
    EndFunc ;==>_StringAddDigits

    [/autoit]

    EDIT: Danke schön, wurde gefixed!

    Einmal editiert, zuletzt von teh_hahn (11. April 2008 um 17:15)

  • Sorry bin erst heute dazu gekommen mal wieder rein zu schauen. Vielen Dank für eure Hilfe. hat mir sehr geholfen.