0

Umwandlung von Text in Zahlen

Ich will überprüfen, ob in die Tabelle Zeilen.Felder Zahlen eingegeben wurden. Falls ja, soll an den Feldanfang "=" geschrieben werden. Das folgende Macro sollte das eigentlich tun, aber es funktioniert nicht (oder jedenfalls nicht immer). Wer weiß Rat?

<code>

let my := this;
let felder := Zeilen.Felder;
let n := 0;
let nn := 0;
alert(cnt(felder));
for i in felder do
let feld := i.Formel;
if feld = number(feld) then
let data := "=" + feld;
i.(Formel := data);
n := n + 1;
alert("Umgewandelt: " + n)
end
end

</code>

5 Antworten

null
    • gremium
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hier noch einmal der Code als MWE:

    <code>

    let felder := Zeilen.Felder;
    let n := 0;
    alert(cnt(felder));
    for i in felder do
    let feld := i.Formel;
    if feld = number(feld) then
    let data := "=" + feld;
    i.(Formel := data);
    n := n + 1;
    alert("Umgewandelt: " + n)
    end
    end

    </code>

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo gremium,

    sind es immer ganze Zahlen (ohne Komma) die Angegeben werden? wenn JA, dann solltest du als Prüfung statt if feld = number(feld) then folgendes schreiben:

    if number(feld)!=0 then 

    Leo

    • gremium
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Danke, Leo. Leider gibt es jedoch Nachkommastellen, und es ist auch möglich, dass ein Wert = 0 ist.

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Dann villeicht so:

    if number(replace(feld,",",".")!=0 or feld="0" then

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    if number(replace(feld,",","."))!=0 or feld="0" then