Seite 1 von 1

Ganzzahl in Gleitkomma umwandeln

Verfasst: Montag 11. April 2016, 12:23
von frannek
Hallo Zusammen,

ich möchte eine Ganzzahl (positiv/negativ möglich) in eine Gleitkommazahl umwandeln.

Beispiel:

Gelieferter Wert: 1000 - Bedeutet: 10.00
Gelieferter Wert: -123 - bedeutet: -1.23

Die letzten beiden Zahlen sollen also immer hinter dem Punkt sein (Punkt deswegen, weil es in eine CSV Datei geschrieben wird).
Ich hab die ganze Zeit mit der formatierten Ausgabe gespielt aber leider nicht hinbekommen (Sofern es damit gehen würde )
http://www.python-kurs.eu/python3_forma ... usgabe.php


Kann mir hier vllt jemand weiter helfen?
Hier die Stelle in meinem Code:

Code: Alles auswählen

myfile.write("%2.2f," % (temperatur_list[count]))
Wie gesagt, die Variable liefert immer Ganzzahlen und die letzten beiden Zahlen sind immer Nachkommastellen.


besten Dank


Franz


Nachtrag:
Ich hatte natürlich auch schon versucht durch 100 zu teilen... jedoch wird dann das ganze gerundet.

Code: Alles auswählen

myfile.write("%3.2f," % (temperatur_list[count]/100))

Re: Ganzzahl in Gleitkomma umwandeln

Verfasst: Montag 11. April 2016, 12:34
von Sirius3
@frannek: Du solltest gleich beim Einlesen der Temperaturen die Zahl ins richtige Format umwandeln:

Code: Alles auswählen

temperatur * 0.01
PS: Variabelnamen sollte man nicht nach ihrem Typ benennen, sondern nach dem Inhalt, eine Liste mit Temperaturwerten könnte man z.B. "temperaturen" oder besser auf englisch "temperatures" nennen. Dann ist gleich klar, da es Mehrzahl ist, dass es irgendetwas List-ähnliches sein wird. csv-Dateien schreibt man am besten mit Hilfe des csv-Modules.

Re: Ganzzahl in Gleitkomma umwandeln

Verfasst: Montag 11. April 2016, 12:40
von frannek
Hallo Sirius... Vielen Dank für die Info. Natürlich funktioniert das ganze jetzt.
Eine Frage habe ich jedoch: Wieso kann ich die zahl durch 100 teilen, bekomme aber dennoch eine Ganzzahl? Ich hatte es vernommen, dass ich 123 /100 eben 1.23 ergibt... jedoch 123 // 100 eben 1. Hab ich da was falsch verstanden?

CSV Modul.. Guter Hinweis. Da werde ich jetzt gleich mal nachsehen. Besten Dank!

Re: Ganzzahl in Gleitkomma umwandeln

Verfasst: Montag 11. April 2016, 13:07
von Sirius3
@frannek: das Verhalten von / hat sich mit Python 3 geändert. Willst Du das gleiche Verhalten auch für Python 2 haben, muß am Anfang Deines Programms

Code: Alles auswählen

from __future__ import division
stehen, damit 123 / 100 = 1.23 ist.

Re: Ganzzahl in Gleitkomma umwandeln

Verfasst: Montag 11. April 2016, 13:15
von Dav1d
Sirius3 hat geschrieben:@frannek: das Verhalten von / hat sich mit Python 3 geändert. Willst Du das gleiche Verhalten auch für Python 2 haben, muß am Anfang Deines Programms

Code: Alles auswählen

from __future__ import division
stehen, damit 123 / 100 = 1.23 ist.
Oder einfach: `123 / 100.0`, wenn ein Teil der Division ein Float ist, ist das Ergebnis auch ein Float (gilt für alle Rechenoperationen).

Re: Ganzzahl in Gleitkomma umwandeln

Verfasst: Montag 11. April 2016, 13:55
von frannek
Vielen Dank für diese Information. Hat mir sehr geholfen!

Re: Ganzzahl in Gleitkomma umwandeln

Verfasst: Montag 11. April 2016, 15:56
von daniel2807
Hallo,
ich brauche Hilfe bei der Ausgabe aneinandergehängter Zeichenketten. Mein Programm zur Binärdarstellung sieht wie folgt aus:

#Binärdarstellung
z=int(input('Dezimalzahl: '))
while z!=0:
b=z%2
z=z//2
print(b)

Nun möchte ich gerne die Zahlen der Variablen b (also alle berechneten) ausgeben, sodass am Ende für z.B. 4 statt
0
0
1

1 0 0
da steht. Würde mich freuen, wenn mir jemand schnellstmöglich helfen kann.

Gruß,
Daniel2807

Re: Ganzzahl in Gleitkomma umwandeln

Verfasst: Montag 11. April 2016, 16:10
von Sirius3
@daniel2807: es ist nicht nett, den Thread eines anderen zu kapern. Mach bitte für eine neue Frage einen neuen Thread auf.

Zur Frage: Du mußt statt die Zahlen auszugeben sie in eine Zeichenkette umwandeln und passend zusammensetzen.

Re: Ganzzahl in Gleitkomma umwandeln

Verfasst: Montag 11. April 2016, 16:16
von daniel2807
Entschuldigung, aber das Problem ist, dass ich nicht weiß, wie man eine neue Frage erstellt?!
Kannst du mir die Antwort in meinem python programm bitte einfach hinzufügen?
Gruß,
Daniel

Re: Ganzzahl in Gleitkomma umwandeln

Verfasst: Montag 11. April 2016, 17:43
von Sirius3
@daniel2807: man geht von der Hauptseite ins passende Unterforum und drückt den nicht ganz unauffälligen Knopf "neues Thema" ganz oben.

Die Antwort habe ich Dir schon gegeben. Da es Deine eigene Aufgabe ist, solltest Du wieder ein bißchen Eigeninitiative zeigen.