Hallo,
ich möchte gern ein Makro programmieren, welches Berechnungen mit Gleitkommazahlen vornimmt und die auch ausgibt. Das ist aber nicht mein Problem. Ich möchte aber gern, dass diese Zahlen möglichst einfach als Währung dargestellt werden. Das €-Zeichen davor zu setzen, bekomme ich hin.
Wie schaffe ich es, dass mir OOo die Zahlen mit einer Genauigkeit von 2 Nachkommastellen in Strings umwandelt?
Ich habe schon einige Befehle ausprobiert. Leider ohne durchschlagenden Erfolg.
Gruß, Alex
[gelöst] Formatieren von Zahlen
Moderator: Moderatoren
-
- **
- Beiträge: 47
- Registriert: So, 25.06.2006 13:03
- Wohnort: Finsterwalde, Brandenburg
[gelöst] Formatieren von Zahlen
Zuletzt geändert von Schwedenbitter am So, 27.07.2008 14:58, insgesamt 1-mal geändert.
OpenOffice.org 2.0.2 (stable)
OpenOffice.org 2.0.3 (update am 06.07.2006)
...
OpenOffice.org 4.1.1 (seit August 2014)
OpenOffice.org 2.0.3 (update am 06.07.2006)
...
OpenOffice.org 4.1.1 (seit August 2014)
Re: Formatieren von Zahlen
Hallo Alex,
bringt Dich folgender Code weiter:
Jürgen
bringt Dich folgender Code weiter:
Code: Alles auswählen
Sub Zahl_Runden
FuncAcc = createunoservice("com.sun.star.sheet.FunctionAccess")
aResult=FuncAcc.callFunction("ROUND", array(13.371399747 , 2))
myResult = "€ " + aResult
'myresult =("123,999") 'zum Testen auf Zahl
myCheck = isnumeric(myresult)
if myCheck Then print "Zahl" else print "Keine Zahl"
msgbox myResult
End Sub
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
-
- **
- Beiträge: 47
- Registriert: So, 25.06.2006 13:03
- Wohnort: Finsterwalde, Brandenburg
Re: Formatieren von Zahlen
Danke Jürgen,
das sieht schon einmal gut aus. Ich vermute, dass die 2 in dem Array die Anzahl der Nachkommastellen angeben soll. Nur leider scheint ihn das bei mir nicht zu interessieren. Wenn ich z.B. 197 (nicht 197,00 oder 197.00) als Wert mitgebe, dann bringt er als Ergebnis auch nur die "197" und nicht - wie gewünscht - die "197,00".
Ich habe in der Zwischenzeit auch gesehen, dass es im Basic die Function Format (Zahl [, Format As String]) gibt. Ich komme aber mit dem Formatstring überhaupt nicht klar. Der von Calc (#.##0 [$€-407];[ROT]-#.##0 [$€-407]) ist es jedenfalls nicht und auch Probieren hat mich hier nicht weitergebracht.
Gruß, Alex
P.S. Wo bekommt man mehr Informationen zum Programmieren mit OOo her, als aus dem lückenhaften Hilfetext? Die Seite StarBasic FAQ kenne ich schon. Dort wird unter anderem Format auch als Runtime Function genannt; nicht aber, wie man sie genau verwendet.
das sieht schon einmal gut aus. Ich vermute, dass die 2 in dem Array die Anzahl der Nachkommastellen angeben soll. Nur leider scheint ihn das bei mir nicht zu interessieren. Wenn ich z.B. 197 (nicht 197,00 oder 197.00) als Wert mitgebe, dann bringt er als Ergebnis auch nur die "197" und nicht - wie gewünscht - die "197,00".
Ich habe in der Zwischenzeit auch gesehen, dass es im Basic die Function Format (Zahl [, Format As String]) gibt. Ich komme aber mit dem Formatstring überhaupt nicht klar. Der von Calc (#.##0 [$€-407];[ROT]-#.##0 [$€-407]) ist es jedenfalls nicht und auch Probieren hat mich hier nicht weitergebracht.
Gruß, Alex
P.S. Wo bekommt man mehr Informationen zum Programmieren mit OOo her, als aus dem lückenhaften Hilfetext? Die Seite StarBasic FAQ kenne ich schon. Dort wird unter anderem Format auch als Runtime Function genannt; nicht aber, wie man sie genau verwendet.
OpenOffice.org 2.0.2 (stable)
OpenOffice.org 2.0.3 (update am 06.07.2006)
...
OpenOffice.org 4.1.1 (seit August 2014)
OpenOffice.org 2.0.3 (update am 06.07.2006)
...
OpenOffice.org 4.1.1 (seit August 2014)
Re: Formatieren von Zahlen
Nein, die 2 gibt die letzte Nachkommastelle an wo gerundet wird.Schwedenbitter hat geschrieben:Ich vermute, dass die 2 in dem Array die Anzahl der Nachkommastellen angeben soll.
Wenn Du zwei Stellen hinter den Komma brauchst dann hilft das hier:
Code: Alles auswählen
Sub Zahl_Nachkomma
FuncAcc = createunoservice("com.sun.star.sheet.FunctionAccess")
aResult=FuncAcc.callFunction("ROUND", array(23 , 2))
s = Format(aResult, "0.00")
myResult = "€ " + s
msgbox myResult
End Sub
Das ist das Zahlenformat für die Zelle . Dazu findest Du hier ein Beispiel.Schwedenbitter hat geschrieben:Der von Calc (#.##0 [$€-407];[ROT]-#.##0 [$€-407]) ist es jedenfalls nicht und auch Probieren hat mich hier nicht weitergebracht.
Jetzt alles klar?
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Formatieren von Zahlen
Hi,
der Rundungbefehl ist überflüssig. Format() rundet von alleine.
mfg
Michael
der Rundungbefehl ist überflüssig. Format() rundet von alleine.
mfg
Michael
__
FAQ zu Starbasic -> http://www.starbasicfaq.de
FAQ zu Starbasic -> http://www.starbasicfaq.de
Re: Formatieren von Zahlen
Hallo Michael,
Schönes Wochenende.
Jürgen
Danke Michael, daran habe ich überhaupt nicht gedacht.ykcim hat geschrieben:der Rundungbefehl ist überflüssig. Format() rundet von alleine.
Schönes Wochenende.
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem