Das Notes Forum

Domino 9 und frühere Versionen => Administration & Userprobleme => Thema gestartet von: mor_lana am 04.09.02 - 12:34:46

Titel: Fehlfunktion der Funktion @Text?
Beitrag von: mor_lana am 04.09.02 - 12:34:46
Hallo Leute,
wir haben PC's mit englischem Windows, deutschen Ländereinstellungen und deutschem Notes. Das Dezimaltrennzeichen ist Komma.

In einer Maske habe ich Nummernfelder mit Nachkommastellen. Das Dezimaltrennzeichen wird  ordnungsgemäß mit Komma angezeigt und auch mit Komma gespeichert.
In einer Ansicht habe ich eine Spalte, in der die Formel @Text(Numfeld1) + "|" + @Text(Numfeld2) eingetragen ist. Nun habe ich das Problem, daß das Dezimaltrennzeichen im String nicht mehr ein Komma, sondern ein Punkt ist. Da ich mit Script auf diesen String zugreife und die Daten weiterverarbeite habe ich damit große Schwierigkeiten.
Hat jemand eine Idee, wie ich in der Ansicht die Zahl als String und dem Dezimaltrennzeichen aus den Ländereinstellungen darstelle?

Danke schon mal im Voraus
Martin Mair
Titel: Re: Fehlfunktion der Funktion @Text?
Beitrag von: Glombi am 04.09.02 - 17:02:02
Hallo Martin,

wenn es sich um eine gemeinsame Ansicht handelt, wird diese auf dem Notes-Server berechnet. Die Darstellung von Zahlen wird dann von der Betriebssystemeinstellung des Servers übernommen.

Insbesondere bei der Verwendung von Tausender- und Dezimaltrennzeichen kommt es dadurch zu Fehlern, wenn diese Zahlen in Text umgewandelt werden.

Evtl. kannst Du die Einstellungen des Servers ändern, damit Dein Script ohne Änderungen funktioniert.

Falls nicht, musst Du mit
@ReplaceSubstring(@Text(<DeineFormel>);".";",")
den Text umwandeln. Dann aber KEINE Tausendertrenner verwenden!!!

Andreas
Titel: Re: Fehlfunktion der Funktion @Text?
Beitrag von: mor_lana am 05.09.02 - 08:54:52
Hallo Andreas,
vielen Dank für deine Antwort, sie hat mir sehr geholfen.

Grüße
Martin
Titel: Re: Fehlfunktion der Funktion @Text?
Beitrag von: Rob Green am 05.09.02 - 08:55:41
hm..nimm doch

_full1:=@integer(Numfeld1);
_decimal1:=Numfeld1-_full1;
_full2:=@integer(Numfeld2);
_decimal2:=Numfeld2-_full2;
@Text(_full1) + "," + @Text(_decimal1) + "|" + @Text(_full2) + "," + @Text(_decimal2)

Bsp:
Numfeld 1 = 7.83
Numfeld 2 = 9.54
_full1 = 7
_decimal1  = 83
_full2 = 9
_decimal2 = 54
---> "7,83|9,54"

is zwar ein bißerl länger, aber dafür hast Du die volle Kontrolle (unabhängig von den Server Ländereinstellungen), wie Dezimalstellen formatiert werden