PureBasic 5.50 Final
Re: PureBasic 5.50 Beta 1
Naja, ValF wird mit dem Tausenderkomma nichts anzufangen wissen und bricht
daher ab. In der Hilfe steht:
Das Parsen (Suchen) nach Zahlen stoppt beim ersten nicht numerischen Zeichen.
daher ab. In der Hilfe steht:
Das Parsen (Suchen) nach Zahlen stoppt beim ersten nicht numerischen Zeichen.
Win11 x64 | PB 6.00 (x64)
- Pelagio
- Beiträge: 424
- Registriert: 11.11.2004 17:52
- Computerausstattung: Intel Core i3-4170 CPU 3,70 GHz
8,00 GB Arbeitsspeicher
WIN 10 Pro 64 Bit Betriebssystem - Wohnort: Bremen
Re: PureBasic 5.50 Beta 1
@Andesdaf
eben!
Ich kann also FormatNumber nur zur Darstellung von Zahlen benutzen, selber aber keine Berechnungen anstellen.
Wie schon geschrieben, ist dies der Sinn von dem Befehl so ist es so.
Man muss dies nur mit Gewissheit wissen.
eben!
Ich kann also FormatNumber nur zur Darstellung von Zahlen benutzen, selber aber keine Berechnungen anstellen.
Wie schon geschrieben, ist dies der Sinn von dem Befehl so ist es so.
Man muss dies nur mit Gewissheit wissen.
Ohne Zeit kein Fleiß
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win10Pro(64); PB6.10 LTS].
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win10Pro(64); PB6.10 LTS].
- NicTheQuick
- Ein Admin
- Beiträge: 8679
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- Kontaktdaten:
Re: PureBasic 5.50 Beta 1
Ich hab mir's noch nicht angeschaut, aber kann FormatNumber() auch Sprachenspezifisch formatieren? "1,234.56" ist nicht gerade deutsch. Das wäre eher "1234,56", maximal noch mit Leerzeichen zwischen 1 und 2.
Re: PureBasic 5.50 Beta 1
Ja, man kann scheinbar per Parameter die Zeichen für 1000er Trennung und Komma angeben.
Michael Hack
Michael Hack Software :: Softwareentwicklung | Webentwicklung | IT-Dienstleistungen
www.michaelhacksoftware.de :: www.mh-s.de :: www.michael-hack.de
Michael Hack Software :: Softwareentwicklung | Webentwicklung | IT-Dienstleistungen
www.michaelhacksoftware.de :: www.mh-s.de :: www.michael-hack.de
Re: PureBasic 5.50 Beta 1
Ja, kannst du. Beispiel:
Beschreibung:
Number.d: Zahl
NbDecimals: Anzahl der Stellen nach dem Komma
DecimalPoint$: Ersatzzeichen für das Komma
ThousandSeperator$: Ersatzzeichen für die Tausenderstelle
Code: Alles auswählen
Debug FormatNumber(1234567.8987, 2, ",", " ")
Parameterliste:Ausgabe hat geschrieben:1 234 567,90
Code: Alles auswählen
FormatNumber(Number.d, NbDecimals, DecimalPoint$, ThousandSeperator$)
Number.d: Zahl
NbDecimals: Anzahl der Stellen nach dem Komma
DecimalPoint$: Ersatzzeichen für das Komma
ThousandSeperator$: Ersatzzeichen für die Tausenderstelle
Re: PureBasic 5.50 Beta 1
Du kannst auch das Ergebnis von FormatNumber() weiterverwenden.Pelagio hat geschrieben:Ich kann also FormatNumber nur zur Darstellung von Zahlen benutzen, selber aber keine Berechnungen anstellen.
Aber halt nur wenn es so "geformt" ist, dass die anderen Funktionen damit umgehen können.
Konkret heißt das in dem von dir genannten Beispiel, dass FormatNumber() kein Tausendertrennzeichen verwenden darf, z.B.
Code: Alles auswählen
d.d = 1123.456
Debug d
s.s = FormatNumber(d, 2, ".", "")
Debug s
Debug ValD(s)
Re: PureBasic 5.50 Beta 1
Man kann das nicht "scheinbar" tun, sondern tatsächlich.mhs hat geschrieben:Ja, man kann scheinbar per Parameter die Zeichen für 1000er Trennung und Komma angeben.
Re: PureBasic 5.50 Beta 1
ValF() ist eher als gegenstück zu StrF() zu sehen, und nicht zu FormatNumber() bzw. zu benutzereingaben.
bei umwandlung von FormatNumber() oder benutzereingaben mit tausendertrennzeichen einfach ReplaceString "," mit "" (bei z.b. US format) und dann ValF().
bei umwandlung von z.b. deutschem format ReplaceString() "." mit "", und danach ReplaceString() "," mit ".", dann ValF().
<edit>
bei umwandlung von FormatNumber() oder benutzereingaben mit tausendertrennzeichen einfach ReplaceString "," mit "" (bei z.b. US format) und dann ValF().
bei umwandlung von z.b. deutschem format ReplaceString() "." mit "", und danach ReplaceString() "," mit ".", dann ValF().
<edit>
Code: Alles auswählen
Procedure.d UnFormatNumber(s$, decimalMark$="," ,thousandsSeparator$=".")
s$ = ReplaceString(s$, thousandsSeparator$, "")
If decimalMark$ <> "."
s$ = ReplaceString(s$, decimalMark$, ".")
EndIf
ProcedureReturn ValD(s$)
EndProcedure
d.d = 123456.789
Debug d
Debug FormatNumber(d)
Debug FormatNumber(d, 2, "," ,".")
Debug UnFormatNumber("123.456,789")
Debug UnFormatNumber("123,456.789", "." ,",")
Re: PureBasic 5.50 Beta 1
Besser wäre es, wenn es ParseNumber() gäbe. Wie bei FormatDate() <=> ParseDate()
Dann ist es einheitlicher.
Dann ist es einheitlicher.
- Pelagio
- Beiträge: 424
- Registriert: 11.11.2004 17:52
- Computerausstattung: Intel Core i3-4170 CPU 3,70 GHz
8,00 GB Arbeitsspeicher
WIN 10 Pro 64 Bit Betriebssystem - Wohnort: Bremen
Re: PureBasic 5.50 Beta 1
Guten Morgen an alle,
das Ergebnis meiner Anfrage ist genau das was ich mir erhofft habe und was RSBasic folgerichtig formuliert hat.
FormatNumber an sich ist schön zum Anzeigen aber mit ParseNumber könnte man damit auch schön Arbeiten.
das Ergebnis meiner Anfrage ist genau das was ich mir erhofft habe und was RSBasic folgerichtig formuliert hat.
FormatNumber an sich ist schön zum Anzeigen aber mit ParseNumber könnte man damit auch schön Arbeiten.
Ohne Zeit kein Fleiß
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win10Pro(64); PB6.10 LTS].
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win10Pro(64); PB6.10 LTS].