Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: rar am 24.03.05 - 17:03:40

Titel: Prüfen ob ein String numerisch ist...
Beitrag 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
Titel: Re: Prüfen ob ein String numerisch ist...
Beitrag von: Thomas Schulte am 24.03.05 - 17:31:38
isnumeric wenn es scrpit sein soll und wieso funktioniert @isnumber nicht?
Titel: Re: Prüfen ob ein String numerisch ist...
Beitrag von: rar am 24.03.05 - 17:34:11
Danke, aber ich bräuchte es in Formelsprache für die Eingabeumsetzung...
Titel: Re: Prüfen ob ein String numerisch ist...
Beitrag von: Thomas Schulte am 24.03.05 - 17:36:00
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!
Titel: Re: Prüfen ob ein String numerisch ist...
Beitrag von: rar am 24.03.05 - 17:41:24
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.
Titel: Re: Prüfen ob ein String numerisch ist...
Beitrag von: Thomas Schulte am 24.03.05 - 17:47:40
Probiers doch mal mit @isnumber(@texttonumber(@text(Variable)))
Titel: Re: Prüfen ob ein String numerisch ist...
Beitrag von: rar am 24.03.05 - 17:53:32
Geht leider auch nicht.
@TextToNumber("123abc456") ergibt 123.
Der Rest wird einfach ignoriert
@IsNumber(@TextToNumber("123abc456")) ist also true :-\
Titel: Re: Prüfen ob ein String numerisch ist...
Beitrag von: Axel am 24.03.05 - 18:33:50
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
Titel: Re: Prüfen ob ein String numerisch ist...
Beitrag von: Gandhi am 24.03.05 - 18:35:39
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")
Titel: Re: Prüfen ob ein String numerisch ist...
Beitrag von: rar am 25.03.05 - 09:02:47
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
Titel: Re: Prüfen ob ein String numerisch ist...
Beitrag von: Thomas Schulte am 25.03.05 - 09:19:47
Das nenn ich mal kreatives Denken
 ;D
Titel: Re: Prüfen ob ein String numerisch ist...
Beitrag von: m3 am 25.03.05 - 11:12:03
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)
Titel: Re: Prüfen ob ein String numerisch ist...
Beitrag von: Gandhi am 29.03.05 - 09:31:40
War mir eine Ehre   ;D
Titel: Re: Prüfen ob ein String numerisch ist...
Beitrag von: ata am 29.03.05 - 14:16:40
... 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
Titel: Re: Prüfen ob ein String numerisch ist...
Beitrag von: Thomas Schulte am 29.03.05 - 14:26:51
Stimmt Anton, aber das ist Standard Denke. Das Lob galt dem Kreativen Einsatz.
Titel: Re: Prüfen ob ein String numerisch ist...
Beitrag von: rar am 29.03.05 - 14:42:06
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
Titel: Re: Prüfen ob ein String numerisch ist...
Beitrag von: Gandhi am 29.03.05 - 15:10:34
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
Titel: Re: Prüfen ob ein String numerisch ist...
Beitrag von: rar am 29.03.05 - 16:22:07
Danke Querdenker  ;D
Jetzt passts.

lG
-daniel