Autor Thema: Erledigt - Führende Null / 0 vor "Kommazahl"  (Gelesen 3454 mal)

Offline BMT216A

  • Junior Mitglied
  • **
  • Beiträge: 57
  • Geschlecht: Männlich
  • Wodka-Martini: Geschüttelt, nicht gerührt!
Erledigt - Führende Null / 0 vor "Kommazahl"
« am: 04.10.11 - 14:11:25 »
Hallo Notesler,

ich steh grad auf dem Schlauch.

Ich möchte in einem Feld (Textfeld) die Möglichkeit haben Kommazahlen einzugeben.
Ich habe die Eingabevalidierung so gemacht: @Right("0000" + SonderKondition025;4).
Demnach steht beim Öffnen des Dokuments 0000 im Feld. (Das gefällt mir auch schon nicht.)

- wenn ich nun 0,25 eingebe, ist die Ausgabe 0,25
- wird in das Feld 0,2 eingegeben, ist die Ausgabe 00,2.
- gebe ich ,2 ein, ist die Ausgabe 00,2
- und wenn ich ,25 eingegeben wird ist die ausgabe 0,25

Wie kann ich es realisieren, dass wenn bei Eingabe die führende Null weggelassen wird, der Wert trotzdem richtig angezeigt wird.
Es sollen nur Werte von 0,01 bis 0,79 eingetragen werden können.
 
Wenn ich das Feld als Zahl definiere, greifen leider meine weiteren Berechnungen nicht.
Eine der Berechnungen ist ganz einfach und soll nur den eingegebenen Wert mit einem Wert aus einer Berechneten liste vergleichen und dann eine msgbox ausgeben.

Vielen Dank für Eure Hilfe.

Chris
« Letzte Änderung: 06.10.11 - 13:07:44 von BMT216A »
Wenn man nicht spürt, dass man lebt, wird das Leben sinnlos.

-------------------------------------------------------------------------------------

Ich traue jedem. Ich traue nur nicht dem Teufel, der in jedem steckt.

klaussal

  • Gast
Re: Führende Null / 0 vor "Kommazahl"
« Antwort #1 am: 04.10.11 - 14:48:42 »
Nimm das Feld als Zahl und mache ein weiteres (verstecktes Feld) als Text mit @Text(deinZahlenfeld).

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Führende Null / 0 vor "Kommazahl"
« Antwort #2 am: 04.10.11 - 15:57:27 »
Oder, was zwar weniger Zeitsparend als die Lösung von Klaus ist, aber dich hinterher mit deutlich mehr Fähigkeiten in der Entwicklung zurücklässt, schau dir an warum deine Berechnungen nicht funktionieren und korrigiere die Fehler dort.

Übrigens, wenn du nicht die Eingabe Validierung, sondern Eingabe Übersetzung benutzt, bist du für das Umsetzen in einen brauchbaren Wert an der richtigeren Stelle. Und dann kannst du das auch richtig machen ...
"0," + @if(@Contains(@thisvalue;",");@Left(@word(@thisvalue;",";2) + "0000";2);@Right("0000" + @thisvalue;2))

Damit bekommst du, egal was dein Kunde eingibt (solange es Zahlen sind) immer einen Wert raus der die letzen zwei Werte, wenn kein Komma eingegeben wird, oder die ersten zwei Werte nach einem Komma rausfischt.

Und wenn du dann in der Eingabe Validierung noch deine Formel dahingehend änderst, das du
@If(@TextToNumber(@ThisValue) >= @TextToNumber("0,01") & @TextToNumber(@ThisValue) <= @TextToNumber("0,79");@Success;@Failure("Falschen Wert eingegeben"))
überprüfst bekommst du auch eine brauchbare Fehlermeldung.

Diese Kombination gilt jetzt nur für Systeme in denen das Komma tatsächlich Ganze und Kommazahlen trennt. Was, wie wir ja alle wissen bei den Angelsachsen und nicht nur bei denen nicht der Fall ist. Bei einer Anwendung die International eingesetzt wird setzt du dich damit in die Nesseln.

Aber sinnvoller wäre es wie gesagt dir anzuschauen, warum deine restlichen Berechnungen mit einem Zahlenfeld nicht funktionieren.
« Letzte Änderung: 04.10.11 - 15:59:00 von Thomas Schulte »
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline BMT216A

  • Junior Mitglied
  • **
  • Beiträge: 57
  • Geschlecht: Männlich
  • Wodka-Martini: Geschüttelt, nicht gerührt!
Re: Führende Null / 0 vor "Kommazahl"
« Antwort #3 am: 06.10.11 - 09:10:24 »
Hallo Thomas,

ich meinte schon die Eingabeumsetzung. Hatte es nur versehentlich geschrieben.
Wenn ich nun deine Formel (die ist schöner als meine) reinkopiere klappt es soweit schon.
Nur wenn ich mir jetzt den Inhalt des Feldes anschaue, ist die "Kommazahl" nicht als 0,25 sondern als ,25 im Feld.
Um die Zahl jezt über LS weiter zu verarbeiten müsste ich diese formatieren.
Ich dachte nur, wenn ich schon ein Zahlenfeld nehme, wird der Wert gleich richtig eingetragen.

Viele Grüße

Christian
Wenn man nicht spürt, dass man lebt, wird das Leben sinnlos.

-------------------------------------------------------------------------------------

Ich traue jedem. Ich traue nur nicht dem Teufel, der in jedem steckt.

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Führende Null / 0 vor "Kommazahl"
« Antwort #4 am: 06.10.11 - 10:55:54 »
Egal welchen Grund Du zu haben meinst, dass Deine Zahl in einem Textfeld gespeichert werden muss.... Er ist FALSCH.
Zahlen gehören in Zahlenfelder, und nirgends sonst...
Wenn Du dann wirklich irgendwo einen Text brauchst, dann kannst Du die Zahl mit @Text formatieren ( z.B. @Text( DeinZahlenFeld , "C,2" ) für 2 Nachkommastellen.

Du wirst ÜBERALL auf Probleme stossen, wenn Du Zahlen in Textfeldern speicherst... und wenn nicht Du, dann Dein Nachfolger, der sich irgendwann mit dem Mist rumschlagen muss !!!
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Führende Null / 0 vor "Kommazahl"
« Antwort #5 am: 06.10.11 - 11:22:44 »
Torsten hat Recht, ich hab das nur nicht so deutlich zum Ausdruck gebracht in meiner Antwort.

Und wenn ich deine letzte Aussage mal interpretieren darf, dann hast du irgendwo anders noch ein Problem. Mit einem reinen Textfeld, ohne irgendwelche Berechnungen die woanders noch durchgeführt werden, funktioniert das nämlich so wie ich das geschrieben habe ohne Probleme.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline BMT216A

  • Junior Mitglied
  • **
  • Beiträge: 57
  • Geschlecht: Männlich
  • Wodka-Martini: Geschüttelt, nicht gerührt!
Re: Führende Null / 0 vor "Kommazahl"
« Antwort #6 am: 06.10.11 - 12:16:00 »
Hallo Ihr beiden,

ich geb Euch vollkommen Recht.
Nur bekomme ich den Wert aus einer Datei, die mir das "Rechenzentrum" / das WorkflowSystem zur Verfügung stellt.
Das ist eine Art "Cachedokument" in dem nur Text steht.

Wenn jetzt der Feldwert so gelassen wird, wie er angeliefert wird ist das Text. Dafür kann ich leider nichts.
Wenn ich den Wert überschreibe, also die Null vor dem Komma weg lasse, kommt es zu den Fehlern.
Ich hab die Lösung jetzt so wie in Thomas ersten Beitrag geändert und mache für meine weiteren Berechnungen in Lotus Script eben die Abfrage ob eine Null davor ist oder nicht. Wenn nicht, setzte ich eben eine Null vor die Zahl.
Denn wenn ich eine Zahl vergleiche z.B.: 0,25 < ,25 klappt es nicht.
Es wäre mir schön früher aufgefallen, aber leider geht in dieser Anwendung kein Debugger.

Viele Grüße und Danke für die Hilfe.
PS: Ich hoffe ich konnte es halbwegs verständlich erklären.

Chris
Wenn man nicht spürt, dass man lebt, wird das Leben sinnlos.

-------------------------------------------------------------------------------------

Ich traue jedem. Ich traue nur nicht dem Teufel, der in jedem steckt.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Führende Null / 0 vor "Kommazahl"
« Antwort #7 am: 06.10.11 - 12:24:30 »
Du bringst dauernd Zahl und Text durcheinander, Chris. Das macht Deine Aussagen sehr schwer verständlich.

0,25 <> ,25 ist ein Textvergleich! Das sind dann keine Zahlen! Die sehen nur so aus, aber statt ,25 könnte dort auch "Wanne-Eickel" stehen.

Warum verwendest Du vor dem Vergleich nicht Cdbl und "machst" Dir Deine wirklichen Zahlen selber?

Bernhard

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Erledigt - Führende Null / 0 vor "Kommazahl"
« Antwort #8 am: 06.10.11 - 14:55:20 »
Shit in, shit out....

Trotzdem würde ich den Wert, den ich aus dem RZ bekomme auf jeden Fall in ne Zahl umwandeln...

Ansonsten kannst Du ja durchaus auch:

@ToNumber( DeinTextFeld ) = @ToNumber( DeineListe ) vergleichen... dann vergleichst Du auch nicht Äpfel mit Birnen (und bist nicht davon abhängig, dass Dein "Workflowsystem" Dir die Zahlen nicht plötzlich mit 3 Nachkommastellen liefert (oder mit Tausenderpunkt, oder oder oder)

Trotz allem: Ob mit oder ohne alle erdenklichen Checks, ob in den Feldern tatsächlich drinsteht was Du erwartest, wird dieses System früher oder später auf nie Nase fallen (zum Beispiel wenn jemand entscheidet, dass Eure Server ab sofort nur noch in englisch installiert werden, und Du versuchst mit Agenten auf die "Zahlen" zuzugreifen...)

Du hast jetzt jede Menge "Lösungsansätze" aber sie beheben alle nur die Auswirkungen und keine einzige die Ursache (Shit in)...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz