Antwort
 
Themen-Optionen Thema durchsuchen
Alt 26.10.2006, 10:13 Nach oben    #1
Turnbeutelvergesser
 
Registriert seit: 18.08.2005
Beiträge: 35
Standard [C] Rundungsproblem

Hallo zusammen,

Ausgangslage:
Ich lese verschiedene Werte aus einer Oracle-Datenbank, einer davon ist im NUMBER-Format in der Datenbank und hat bis zu 2 Nachkommastellen. Ich lese den in eine float Variable temp ein:

Code:
float temp = (float)auswahl[i].riserva_leistung;
Wenn ich nun den Wert dieser Variable temp ausgebe, sieht das so aus:

Code:
printf("\ntemp: %f", temp);
Ausgabe:

Code:
temp: 8861.400391
In der Datenbank ist "eigentlich" der Wert 8861.4, aber das liegt wohl an der Ungenauigkeit von "NUMBER", egal, das ist auch nicht das Problem.

Problem:
Nun möchte ich diesen Betrag der in der Variable "temp" ist, auf 2 Stellen nach dem Komma - mathematisch - runden.
Meine bisherige Vorgehensweise:

Code:
temp = temp * 100;
temp = round(temp);
printf("\ntemp: %f", temp);
Ausgabe:

Code:
886140.000000
Funktioniert soweit auch ganz gut.
Wenn ich diesen neuen Wert jedoch durch 100 Rechne und in die gleiche float-Variable speichern will, passiert etwas, was ich nicht verstehe :

Code:

Code:
temp = temp / 100;
printf("\ntemp: %f", temp);
Ausgabe:

Code:
temp: 8861.399414
Wieso? Ich versteh das nicht, weiss da wer nen Tipp, oder ne andere Möglichkeit zu runden?

Grüsse Mirod
Mirod ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 26.10.2006, 19:38 Nach oben    #2
Jonas
 
Benutzerbild von Artemis
 
Registriert seit: 03.06.2006
Beiträge: 244
Standard

Bin grad auf das hier gestoßen:
http://www.wer-weiss-was.de/theme158/article977423.html

EDIT:

und auf das hier:
http://www.c-plusplus.de/forum/viewt...is-284467.html
__________________
Applikations-Programmierung:
BlitzMax, BlitzPlus

Webentwicklung:
PHP, (X)HTML, CSS, JavaScript, MySQL


Artemis ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 27.10.2006, 09:56 Nach oben    #3
Turnbeutelvergesser
 
Registriert seit: 18.08.2005
Beiträge: 35
Standard

Hat sich erledigt, habe nun double-Variablen verwendet, nun funktionierts .
Danke für die Hilfe.
Mirod ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[C] Malloc und Realloc Bleistift Sonstige Programmiersprachen 1 08.06.2007 13:58
[C] "Kleines" Problem bei einem einfachen Programm Plankton Sonstige Programmiersprachen 5 28.12.2006 21:15


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45