€ Zeichen anhängen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

Wenn Du aber immer genau zwei Nachkommastellen ausgegeben haben möchtest, dann kommst Du um die "%.2f" Syntax nicht herum.
a fool with a tool is still a fool, www.magben.de, YouTube
BlackJack

@MagBen: Für `format()` spricht das es im Gegensatz zu `str()` und ``+`` das Ergebnis liefert das man erwartet, nämlich genau zwei Nachkommastellen. Dementsprechend würde man auch in keiner der von Dir aufgezählten Sprachen ausser JavaScript das ``+`` hier verwenden. Und bei JavaScript nur weil es keine vernünftige Alternative gibt wie bei den anderen Sprachen. Bei ``+`` weiss übrigens auch nicht jeder was gemeint ist beziehungsweise hat das bei JavaScript sicher schon viele überrascht welche Werte dort in was umgewandelt werden können bevor ein ``+`` darauf ausgeführt wird.

Ich finde ``+`` auch nicht ausdrucksstärker oder verständlicher. Das Argument das es verständlicher ist wenn man es bereits verstanden hat, beisst sich ja irgendwie selbst. Wenn man `format()` verstanden hat ist das auch verständlich. Und man kann das auch einfach nachschlagen. In Java heisst die Methode/Funktion auch so.
Sirius3
User
Beiträge: 18264
Registriert: Sonntag 21. Oktober 2012, 17:20

@MagBen: Die Aussage über den Speicher ist in 1 - 10**(-13) der Fälle irrelevant und in diesem Beispiel wahrscheinlich in den meisten Python-Implementierungen falsch.

Was ist an einem str(...) ausdrucksstark, wo ich doch nicht weiß und auch gar keinen Einfluß darauf habe, was da wie in einen String umgewandelt wird?
Weder Java, JavaScript noch C++ können was mit str anfangen. Perl, Lua, VisualBasic haben zum Zusammensetzen von Strings eine anderen Operator. Mir fallen jetzt noch ein paar politisch nicht korrekte Vergleiche ein, die ich hier nicht aufschreiben will, das Spracheneinheitsargument ist aber sowas von Murx.
Du darfst jetzt nur noch "Ich gehen Bahnhof" sagen, weil andere Sprachen ja auch keine Deklination von Verben kennen, und wir wollen hier ja möglichst ausdruckstarkes Deutsch schreiben. Du solltest dringend nochmal das Wort "ausdrucksstark" im Duden nachschlagen.
Kalli87
User
Beiträge: 281
Registriert: Montag 10. November 2014, 11:27

Ja das mag sein aber meine Datenbank is bis jetzt nur eine Test-Datenbank.
Soll heißen: Selbst Zahlen wurden mit "text" festgelegt und nicht als "float" oder double".

Ich hab also noch viel Arbeit vor mir :)
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Wenn man schon eine Sprache benutzt, dann sollte man auch dessen Features nutzen und nicht, aus Gründen der Verständlichkeit der Programmierer aus anderen Sprachen, darauf verzichten. Damit wäre ja jede neue Sprache sinnlos.

Warum sollte man also Klassen verwenden, das verwirrt doch nur C- und TurboPascal-Programmierer. Bleiben wir bei Structs oder Records.
Das Leben ist wie ein Tennisball.
BlackJack

@EyDu: Vor allem würde sich dann ja auch nichts weiterentwickeln wenn man immer noch so wie in BASIC programmieren würde/müsste.

Bei TurboPascal gab es immerhin neben Records schon Objekte. :-)
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

@BlackJack: Das meinte ich damit. Wenn man nur die alten Features benutzt, dann braucht es keine neuen. An Objekte in TurboPascal kann ich mich gar nicht erinnern. Ich behaupte einfach mal, dass ich TP nur vor der 5.5er-Version benutzt habe :wink:
Das Leben ist wie ein Tennisball.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Wenn ich Euch so von alten Sprachen schreiben seh': Ich würde soo gerne mal wieder etwas in Clipper schreiben. Zu blöd, dass ich während einem meiner ungezählten Umzüge irgendwann mal die Installations-CD's entsorgt hab'... :cry: Ich seh' ihn noch vor mir, den 20 cm dicken Schuber mit bundeswehrgrünem Leinen überzogen, darin 3 fette Handbücher...

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
BlackJack

@mutetella: Es gibt da anscheinend mehrere Alternativen zum originalen Clipper (das man auch noch kaufen kann für $199), einige sogar OpenSource und Cross-Plattform. xHarbour zum Beispiel. :-)
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@BlackJack
Hab' noch ein aktuelleres Projekt gefunden... Ich find' das ja total irre, dass es immer wieder Leute gibt, die so altes Zeugs 'rüberportieren. Fast wie Denkmalschutz... :mrgreen:

Sorry, das ist jetzt echt am Threadthema vorbei, aber ich konnt's nicht lassen: So neumodisches Zeugs wie ``enumerate`` gibts bei Clipper nicht, aber so was ähnliches wie ``format`` dann doch:

Code: Alles auswählen

// no ``enumerate`` but something like ``format`` ;-)

local values := { 12, 14.3, 435.88 }, idx := 0
cls
for idx = 1 to len(values)
    @ idx+1, 0 say values[idx] picture '999.99'
next

Code: Alles auswählen

  12.00
  14.30
 435.88
mutetella

P.S.: Und wisst ihr was? Vim erkennt ein prg-File doch glatt als clipper! Wo gibt's denn sowas? Jedenfalls nicht hier im foreneigenen Syntax-Listing... :mrgreen:
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
BlackJack

@mutetella: Was ich manchmal wirklich erschreckend finde ist das die das nicht nur zum Spass machen. Ich möchte nicht wissen wieviel Software die mal auf dBase-Basis enststanden ist, heute noch, mittlerweile wahrscheinlich in DOSBox, in Firmen und Betrieben produktiv läuft. Solche Saurier sind manchmal nur schwer totzukriegen.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@BlackJack
Erschreckend oder nicht: Wenn's läuft! Ist ein Unternehmen in der Lage, mit solch einem Daten-Saurier seinen Geschäften nachzukommen, dann kann ich es fast schon wieder verstehen, dass jemand den teils immensen Aufwand scheut, in ein neues System zu investieren. Die Vorteile sind doch oft marginal und rechtfertigen nicht, sich einer oftmals überteuerten Lizenz-Update-Abhängigkeits-Mafia auszuliefern. Ein Arbeiten in der DOSBox mit einer dBase basierenden Anwendung ist ja nicht per Definition schlecht. Auch im Jahr 2015 nicht.

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
BlackJack

@mutetella: Die Frage ist halt irgendwann was das warten, pflegen, und weiterentwickeln so einer Uraltlösung an Zeit und Geld kostet. Leute die Clipper können, also so richtig mit Erfahrung, rufen deutlich andere Stundenlöhne auf als Programmierer die eine ”zeitgemässe” Programmiersprache können, die jeder x. Studienabsolvent zumindest grundlegend beherrscht.

Dann gibt es irgendwann einmal Änderungen an den Rahmenbedingungen, auch an solchen die mal wie in Stein gemeisselt schienen. Zum Beispiel das sich Postleitzahlen von vier auf fünf Stellen erweitern weil die DDR Konkurs anmelden musste, oder das so etwas wie IBAN und SEPA ”plötzlich” tatsächlich da sind und Kontodaten sich ändern, oder auch dass die alten Systeme an Grenzen stossen. Zum Beispiel hatte ich vor zwei Jahren mal bei einem DB-System das in den frühen 90ern entworfen und programmiert wurde den Fall das die 2 GiB-Grenze beim Gesamtdatenbestand erreicht wurde. Das liess sich $GOTT sei Dank durch eine Einstellung auf 4 GiB hochschrauben, aber das ist bei dem System dann wirklich eine harte Grenze die irgendwann erreicht werden wird wenn es weitergelaufen wäre wie bisher.

Oder ich kenne eine FoxPro-Datenbank die Veranstaltungen und Teilnehmer verwaltet, die so um 2004 herum ans Internet sollte. Also eine Einbenutzersoftware die mit ziemlich hässlichen Hacks jetzt auch eine Weboberfläche hat und wo man das bei Besucherpeaks sehr deutlich merkt das da immer nur einer gleichzeitig tatsächlich an den Datenbestand heran darf.
Benutzeravatar
ngulam
User
Beiträge: 35
Registriert: Freitag 18. Oktober 2013, 11:03

Also, *ich* lasse mir die Formatierung in einem solchen Fall (dass ich eine Zeichenkette mit Währungskennzeichen brauche) dann gleich durch die Abfrage erledigen.

Beispiel (funktioniert bei mir mit pymysql und Python3)

Code: Alles auswählen

cursor.execute("SELECT CONCAT( FORMAT(Artikelpreis, 2, 'de_DE'), ' €') FROM t099_Rechnung_Pos")
งูหลาม
Antworten