AutoIt gibt Komma Zahlen die er von Excel ausliest immer mit Punkt staat Komma ein

  • Hi Leute,

    AutoIt gibt bei mir Komma Zahlen die er von Excel ausliest wie bspw. 4,66 nicht als 4,66 sondern als 4.66, also mit Punkt staat Komma, ein. Bei Excel liegt glaube ich nicht das Problem. Weis jemand vielleicht, wie ich es hinebkomme, das AutoIT auch Komma zahlen eingibt?

    Ich danke euch im vorraus.


    Gruß Bernd

    • Offizieller Beitrag

    An deinem Code ist nichts erkennbar, was mit deinem Problem zu tun hat. Also stell bitte ein kurzes lauffähiges! Bsp. ein, in dem dein Problem nachvollziehbar ist.

    Im Übrigen ist "4,66" eine Formatierung in Excel, du kannst ebenso "4.66" verwenden, wie im englischen Sprachraum üblich. Wenn AutoIt mit solchen Zahlen arbeiten soll, müssen sie in der Form sein, die AutoIt versteht - also: 4.66

  • Wenn AutoIt mit solchen Zahlen arbeiten soll, müssen sie in der Form sein, die AutoIt versteht - also: 4.66

    Vielen Dank für deine Antwort. Also liegt es an AuoiT, das es von Excel keine Zahlen mit Komma auslesen kann. An sich, wenn ich bspw. einen send Befehl direkt mit einer Komma Zahl eingebe klappt ja alles. Nur wenn AuoIt es über Excel ausliest, klappt es nicht. Ich möchte so einen Verkaufs-Preis eingeben über eine Autoit Automation, wenn AuotiT aber wie hier angesprochen nur Zahlen mit punkt eingibt, bekomme ich eine Fehlermeldung...

  • Also liegt es an AuoiT, das es von Excel keine Zahlen mit Komma auslesen kann. [...]

    So ganz wird mir aus Deiner Beschreibung nicht klar, was nun wo und wie eingegeben/ausgelesen wird. Es geht, so vermute ich, wieder um Dein Projekt bzgl. KDP ( Amazon Bücher).

    Die Excel-Tabelle erstellst Du ja selbst, siehe : Link

    Die einfachste Lösung wäre es also, den Vorschlag von BugFix zu befolgen,

    Im Übrigen ist "4,66" eine Formatierung in Excel, du kannst ebenso "4.66" verwenden, wie im englischen Sprachraum üblich.

    d.h. , Du formatierst die Verkaufspreise in der Excel-Tabelle als nummerisch mit . als Trenner für Nachkommastellen.

    Eine Fließkommazahl wird von AutoIt in der Notation $fNum = 4.66 (also mit Punkt) erwartet.

    AutoIt ist zwar recht 'flexibel' wenn es z.B. darum geht, mit Strings und Integer/Floats zu rechnen, allerdings werden dann unter Umständen z.B. die Nachkommastellen 'abgeschnitten :

    Sofern nicht auch noch der Tausenderpunkt/-komma Aspekt hinzukommt, könntest Du den Rückgabewert auch konvertieren, siehe 4.

    Nebenbei : Die Sprache heißt AutoIt, nicht AuoiT , AuotiT oder Autoit ;)

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Du musst 2 Dinge auseinanderhalten:

    • Wert einer Variablen/Zelle in AutoIt bzw. Excel
    • Darstellung bzw. Formatierung einer Zelle/Variablen in Excel bzw. AutoIt

    Die Tatsache, dass AutoIt Dir den korrekten Excel-Wert anzeigt, gibt an, dass AutoIt kein Problem mit dem Wert hat.

    Wenn Du eine andere Formatierung haben willst, dann durchsuche mal das Forum. Das wurde unlängst am Beispiel des 1000-er Trennzeichens durchexerziert.

    Reduziertes Beispiel:

    AutoIt
    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_RangeRead Example 1", "Data successfully read." & @CRLF & _
            "Wert der Zelle A1: " & $sResult & @CRLF & _
            "Type der AutoIt-Variablen = " & VarGetType($sResult) & @CRLF & _
            "Formatiert: " & StringReplace($sResult, ".", ","))
  • Wenn Du eine andere Formatierung haben willst, dann durchsuche mal das Forum. Das wurde unlängst am Beispiel des 1000-er Trennzeichens durchexerziert.

    Ich vermute, Du meinst diesen Thread :) : normierte-zahlenanzeige

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Exakt :thumbup::klatschen: