Konvertieren mit CDbl

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Konvertieren mit CDbl

Re: Konvertieren mit CDbl

von tunix_xl » Mi, 10.06.2009 21:55

Code: Alles auswählen

msgbox CDbl("12.34") '' Ergebnis: 1234
msgbox CDbl("12,34") '' Ergebnis: 12
msgbox VAL("12.34") ''' Ergebnis: 12,34
msgbox VAL("12,34") ''' Ergebnis: 1234
OOo 3.1 deutsche Lokalisierung, Ubuntu9.04

Re: Konvertieren mit CDbl

von balu » Di, 09.06.2009 15:07

Hallo,

wollt mich nur mal kurz bei Stephan bedanken, wegen der Erklärung i im Steuerelement.

Danke, Stephan.


Gruß
balu

Re: Konvertieren mit CDbl

von komma4 » Fr, 05.06.2009 11:33

... muss ich "zu Hause" prüfen ... bin aktuell bei einem Kunden

Re: Konvertieren mit CDbl

von Karolus » Fr, 05.06.2009 11:07

Hallo Winfried
Und was passiert unter der Umgebung
Cheers Winfried
OOo 3.0.1 mit SuSE Linux
deiner Signatur?

Gruß Karo

Re: Konvertieren mit CDbl

von komma4 » Fr, 05.06.2009 10:57

Karolus hat geschrieben:Hier (OOo3.1 deutsche Lokalisierung , Suse 11.0) wird
msgbox CDbl("12,34") korrekt angezeigt, bei
msgbox CDbl("12.34") werden die Nachkommastellen abgeschnitten.
Hier (3.0.1 dt., XP pro) bekomme ich bei

Code: Alles auswählen

msgbox CDbl("12.34") 
die Anzeige 1234, lasse ich die Anführungszeichen weg, ein korrektes 12,34
???

Re: Konvertieren mit CDbl

von Stephan » Fr, 05.06.2009 10:44

Hier (OOo3.1 deutsche Lokalisierung , Suse 11.0) wird
msgbox CDbl("12,34") korrekt angezeigt, bei
msgbox CDbl("12.34") werden die Nachkommastellen abgeschnitten.
Danke, darauf hatte ich gehofft.

Vielleicht kann das Thomas bei sich auch bestätigen.


Gruß
Stephan

Re: Konvertieren mit CDbl

von Karolus » Fr, 05.06.2009 10:36

Hallo
zu 1.
Hier (OOo3.1 deutsche Lokalisierung , Suse 11.0) wird
msgbox CDbl("12,34") korrekt angezeigt, bei
msgbox CDbl("12.34") werden die Nachkommastellen abgeschnitten.

Verwendest du evtl. eine andere Lokalisierung bei OOo (oder auf Betriebssystemebene) ?

Gruß Karo

Re: Konvertieren mit CDbl

von Stephan » Fr, 05.06.2009 10:26

1. Warum ergibt

msgbox CDbl("12,34")

bei mir unter OOo 2.4.1 (LINUX) als Ergebnis 12 und nicht 12,34.
Handelt es sich um einen Bug?
Bin ich mir leider nicht darüber im Klaren, da aber in der Hilfe von der Abhängigkeit vom Zahlenformat des Systems gesprochen wird, fände ich es zu erfahren was bei Dir:

Code: Alles auswählen

msgbox CDbl("12.34")
als Ergebnis liefert.

2. Eigentlich möchte ich ja nur Zahlenwerte in einem Dialog in einer 'Text'-, 'Num'- oder wie auch immer- Box rechtsbündig anzeigen.
Gibt es da Alternativen?
Alternativen wären wohl das maskierte Feld, das Fix-Text-Feld, im Notfall aber auch Kombinations- oder Listenfeld.
Wobei ich noch nicht so ganz verstehe warum eine Anzeige in einem FEld das REchenproblem (zwangsläufig) lösen würde. Um das Rechenproblem direkt anzugehen, würde ich wegen meiner Unklarheit warum sich überhaupt das Problem mit CDbl ergibt, etwas wohl übertrieben 'Konservatives' versuchen im Sinne:

Code: Alles auswählen

x = "12,34"
x1 = Split(x, ",")
msgbox Val(x1(0) & "." & x1(1))



Gruß
Stephan

Re: Konvertieren mit CDbl

von Stephan » Do, 04.06.2009 22:53

Wenn i als Integer deklariert, dann werden ja die Nachkommastellen abgeschnitten. Eigentlich ehern nach Kaufmännischer Tradition auf ganze Zahl auf- bzw. abgerundet. Stimmt doch. Oder?
Nein, da i wegen:

Code: Alles auswählen

oFrmTest.getControl("numBeitrag_" & i).Text
lediglich ein Namenzusatz im Namen eines Steuerelements ist.
Namen von Steuerelementen stehen jedoch in keinerlei Bezug zu ihrem Inhalt egal ob der Inhalt Zahlen, Texte oder sonstwas ist, somit können wegen eines Steuerelementnamens auch keine Nachkommastellen des Inhalts dieses Steuerelements abgeschnitten werden.




Gruß
Stephan

Re: Konvertieren mit CDbl

von balu » Do, 04.06.2009 17:16

Hallo,

@Winfried
Danke.


@Stephan
zu 1.
Ah ja! War mir noch nicht bekannt.

zu 2.
Stimmt schon, hätt ich etwas anders formulieren können.

Ergänzend dazu gesagt.
Wenn i als Integer deklariert, dann werden ja die Nachkommastellen abgeschnitten. Eigentlich ehern nach Kaufmännischer Tradition auf ganze Zahl auf- bzw. abgerundet. Stimmt doch. Oder?
Also dachte ich mir, dass bei toni007 vielleicht die deklaration nicht stimmt, und deshalb bei ihm die Nachkommastellen abgeschnitten werden.
Stephan hat geschrieben: Für wie wahrscheinlich hälst Du es eigentlich das Deine Antwort zutrifft ...
50%. Entweder passt, oder passt nicht.



Gruß
balu

Re: Konvertieren mit CDbl

von Stephan » Do, 04.06.2009 15:56

@Balu

Für wie wahrscheinlich hälst Du es eigentlich das Deine Antwort zutrifft, angesichst dessen das Du:

1. den Code verkürzt zitierst

Die "..." am Anfang und Ende haben nämlich eine, durchaus hinreichend verständliche, Bedeutung, dürften also mit sehr hoher WAhrscheinlichkeit auch das Vorhandensein eines Wertes für i umfassen


2. Du zu einem völlig falschen Fehler referierst

Der Frager bekommt keinen Laufzeitfehler, sondern schreibt deutlich das er lediglich ein Ergebnis ohne Nachkommastellen erhält


'Herzlichen Dank' in jedem Fall für zwei völlig überflüssige Smileys, besonders bewegte Smileys erhöhen ja die Lesbarkeit enorm ...



Gruß
Stephan

Re: Konvertieren mit CDbl

von komma4 » Do, 04.06.2009 15:45

Balu: die Meldung kommt dann von oFrmTest, welches nicht belegt ist.

Re: Konvertieren mit CDbl

von balu » Do, 04.06.2009 15:26

Hallo Leute,

ich weiß das ich ja nicht "die Kenne" habe, aber trotzdem wollt ich auch mal kurz mitmischen :wink:

Also

Code: Alles auswählen

msgbox CDbl("12,34")
liefert bei mir hier unter Win/XP und OOo 2.2.1, 2.4.1, und 3.1.0 das gewünschte Ergebnis in der Box von 12,34.


Nur wenn ich den Code-Schnipsel

Code: Alles auswählen

    Dim BeitragGesamt As Double
    BeitragGesamt = BeitragGesamt + CDbl(oFrmTest.getControl("numBeitrag_" & i).Text)
noch mit an den Anfang einfüge, bekomme ich den Fehler
BASIC-Laufzeitfehler.
Objektvariable nicht belegt.
was ja wohl auch logisch ist, da ja z.B. i nicht bekannt ist. Aber vielleicht liegt ja genau dort der Hund begraben den toni007 zu schaffen macht, wenn i als INTEGER deklariert ist. Ist ja nur mal so eine Laien Vermutung.



Ich geh dann mal wieder :lol:
Gruß
balu

Re: Konvertieren mit CDbl

von turtle47 » Do, 04.06.2009 12:00

Hallo Zusammen,

Code: Alles auswählen

msgbox CDbl("12,34")
Unter Suse Linux 11.0 und OO.o 2.4.0 kommt bei mir die Fehlermeldung:
Unzulässiger Wert oder Datentyp
Datentypen unverträglich
Jürgen

Re: Konvertieren mit CDbl

von komma4 » Do, 04.06.2009 11:43

im Entwurfsmodus kannst Du die Ausrichtung doch einstellen wie gewünscht ... oder geht das bei NUM Feldern nicht?

Nach oben