Seite 1 von 1

Positive Zahlen formatieren

Verfasst: Dienstag 11. Februar 2014, 09:46
von sunnyraven
Hallo,
kann mir jemand kurz helfen denn ich habe bei der Suche hier und bei google nichts gefunden. Eventuell fehlt mir auch nur der korrekte Suchbegriff.

Kann ich in Python Float Zahlen so formatieren, dass bei positiven Zahlen immer das Plus-Zeichen vorangestellt wird?
Kann ich diesen Wert dann auch so in eine mySQL Datenbank schreiben bzw. wie muss dann in der Datenbank das Feld deklariert sein damit dort auch das Plus-Zeichen auftaucht?

Vielen Dank für Eure Hilfe

Re: Positive Zahlen formatieren

Verfasst: Dienstag 11. Februar 2014, 09:52
von Hyperion
sunnyraven hat geschrieben: Kann ich in Python Float Zahlen so formatieren, dass bei positiven Zahlen immer das Plus-Zeichen vorangestellt wird?
Mit den On Board Formating-Regeln offenbar nicht.

Du müsstest Dir also eine Funktion schreiben, die das erledigt.
sunnyraven hat geschrieben: Kann ich diesen Wert dann auch so in eine mySQL Datenbank schreiben bzw. wie muss dann in der Datenbank das Feld deklariert sein damit dort auch das Plus-Zeichen auftaucht?
Ist das denn eher Darstellungssache oder wirklich ein Bestandteil der Daten? Bei letztem belasse es bei einem Fließkommafeld und formatiere ebenfalls die Ausgaben, bei letzterem wäre vermutlich ein Text-Typ sinnvoll.

Beschreibe vielleicht mal genauer, *was* Du damit lösen willst!

Re: Positive Zahlen formatieren

Verfasst: Dienstag 11. Februar 2014, 09:54
von BlackJack
@sunnyraven: Das geht mit Zeichenkettenformatierung mittels ``%``-Operator oder `format()`-Methode auf Zeichenketten.

Wenn man das als Zahl in der Datenbank speichert dann kann man dort keine *Anzeige*wünsche speichern, denn es wird ja beim Abfragen wieder eine Zahl geliefert.

Re: Positive Zahlen formatieren

Verfasst: Dienstag 11. Februar 2014, 09:59
von sunnyraven
Danke für die Schnellen Antworten.

Ich habe hier eine Anforderung bei der ich Daten Speichere, und nach einem gewissen Zeitraum als .csv zur Verfügung stellen muss. Jetzt gibt es dort die hirnrissige Vorgabe, dass auch positive Werte als solche gekennzeichnet werden müssen.

Ich möchte halt schon so viel wie möglich so in die DB schreiben wie ich es später benötige um bei der Ausgabe möglichst wenig Arbeit zu haben.

Re: Positive Zahlen formatieren

Verfasst: Dienstag 11. Februar 2014, 10:08
von BlackJack
@sunnyraven: Es macht aber IMHO wenig Sinn Zahlen in einer Datenbank als Text zu speichern. Datenspeicherung und spätere Darstellung sind zwei verschiedene, von einander unabhängige Bereiche. Da die Werte für CSV sowieso in Zeichenketten umgewandelt werden müssen, macht es an der Stelle auch nicht wirklich Mehraufwand beim Programmieren dort eine entsprechende Formatierungsanweisung anzugeben.

Re: Positive Zahlen formatieren

Verfasst: Dienstag 11. Februar 2014, 11:02
von sunnyraven
Danke BlackJack ich dachte halt ich könnte mir das irgendwie sparen.

Bist Du so nett und erklärst mir Kurz Deinen Quellcode weil irgendwie stehe ich da gerade auf der Leitung.

Vielen Dank und viele Grüße

Re: Positive Zahlen formatieren

Verfasst: Dienstag 11. Februar 2014, 11:06
von Sirius3
@sunnyraven: so schwer ist es auch nicht die Formatierungsmöglichkeiten in der Dokumentation durchzulesen: '%+15.3f'%1234.5

Re: Positive Zahlen formatieren

Verfasst: Dienstag 11. Februar 2014, 11:07
von BlackJack
@sunnyraven: Welchen Quellcode? Das BASIC-Programm in meiner Signatur? ;-) Das zählt einfach nur Schafe bis zum Einschlafen.

Re: Positive Zahlen formatieren

Verfasst: Dienstag 11. Februar 2014, 11:23
von sunnyraven
:P :P :P und ich Depp google eben nach Zeilen-Nummerierung & Python :oops: :oops: :oops:

Das mit dem Formatieren ist schon klar.

Vielen Dank an Euch alle für die schnelle und unterhaltsame Hilfe

Re: Positive Zahlen formatieren

Verfasst: Dienstag 11. Februar 2014, 13:46
von Hyperion
Hyperion hat geschrieben: Mit den On Board Formating-Regeln offenbar nicht.
Ich Depp... ich hatte den OP falsch verstanden; ich dachte er möchte *nur* bei positiven Zahlen ein "+" und sonst *kein* Zeichen... :oops: Ok, aber der Link stimmte ja :mrgreen: