Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: rar am 24.03.05 - 17:03:40
-
Hi,
ich suche eine Formel, mit der man abfragen kann ob z.B. der Text
"123abc456"
numerisch ist oder nicht.
@TextToNumber oder @IsNumber funktioniert leider nicht.
Gibt es sowas?
lG
-daniel
-
isnumeric wenn es scrpit sein soll und wieso funktioniert @isnumber nicht?
-
Danke, aber ich bräuchte es in Formelsprache für die Eingabeumsetzung...
-
Hab ich dann auch gemerkt und Ergänzt.
Also noch einmal wieso soll @isnumber da nicht funktionieren. Das liefert dir doch True oder False zurück!
-
Ich habe ein Textfeld in dem . - erlaubt ist. Mit
@ReplaceSubstring(KtoNr;".":"-":" ";"":"":"")
entferne ich dann die Sonderzeichen. Die Zahl steht dann jedoch in einem String.
@IsNumber gibt True nur bei einer Zahl zurück. @IsNumber("123") ist aber False.
-
Probiers doch mal mit @isnumber(@texttonumber(@text(Variable)))
-
Geht leider auch nicht.
@TextToNumber("123abc456") ergibt 123.
Der Rest wird einfach ignoriert
@IsNumber(@TextToNumber("123abc456")) ist also true :-\
-
Hi,
muss es unbedingt die Eingabeumsetzung sein. Kannst du das nicht im QuerySave-Event erledigen? Dort könntest du mit Script arbeiten.
Script wäre prinzipiell auch im Exiting-Event des Feldes möglich. Ist aber m.E. keine brauchbare Alternative, da nicht sichergestellt ist, ob das Event auch wirklich ausgeführt wird.
Axel
-
Eine Lösung: Das Problem zur Lösung machen. ;D Wenn Notes der Meinung ist, bei der Umwandlung abschneiden zu müssen, so kann man dies auch nutzen. 8)
Rem "prüfen, ob das Feld 'MeinFeld' numerisch ist";
_u:=MeinFeld;
_p:=@text(@textToNumber(_u));
@if(_u!=_p;"nicht numerisch";"numerisch")
-
Ich hab schon überlegt, das ganze ins Querysave zu packen. Aber die Formel funktioniert sonst einwandfrei und sie ist nicht ganz klein. Das ganze umwandeln wollte ich nicht.
Dein Vorschlag, Gandhi, ist aber der Hammer. Wieso komm ich nicht auf sowas...? Funktioniert pefekt. :D
Vielen Dank.
lG
-daniel
-
Das nenn ich mal kreatives Denken
;D
-
Eine Lösung: Das Problem zur Lösung machen. ;D Wenn Notes der Meinung ist, bei der Umwandlung abschneiden zu müssen, so kann man dies auch nutzen. 8)
Rem "prüfen, ob das Feld 'MeinFeld' numerisch ist";
_u:=MeinFeld;
_p:=@text(@textToNumber(_u));
@if(_u!=_p;"nicht numerisch";"numerisch")
(http://www.tratschen.at/vbulletin/images/smilies/xxl/sm.gif)
-
War mir eine Ehre ;D
-
... man könnte nicht nur die Sonderzeichen entfernen, sondern auch alle Zahlen - bleibt dann nach einem @Trim noch was übrig, dann war Text drin...
ata
-
Stimmt Anton, aber das ist Standard Denke. Das Lob galt dem Kreativen Einsatz.
-
Ich bin gerade auf eine Schwachstelle in Gandhis Lösung gestoßen...
Führende Nullen, die bei mir erlaubt sind, werden bei TextToNumber abgeschnitten... :-\
Da müsste man noch was machen.
Ich probiers jetzt mal mit Trim. Das sollte gehen. :)
Danke ata
-daniel
-
Führende Nullen....knifflig....
oder auch nicht.... einfach die Nullen durch Einsen (oder Zeien...) ersetzten. In der Prüfung ist die Zahl ja egal - kommt nur darauf an, dass es numerisch ist. Das sollte so funktionieren... 8)
Btw.: Alle Zahlen, Minusse (wie lautet der Plural?) und Kommata rauszulöschen ist keine echte Lösung, da zum Beispiel ---1234,,5,6-- keine gültige Zahl ist, aber dem Kriterium nach dem Trim entspräche.
Im Grunde ist die Lotus Umwandlung ja wirklich sehr komfortabel - wenn man sie dann austrickst.... ;D
-
Danke Querdenker ;D
Jetzt passts.
lG
-daniel