G
gast
Gast
Ich hab grad gemerkt, dass ein Programm von mir mit falschen Werten rechnet und wollte der Sache auf den Grund gehen.
Es soll Eurobeträge aus einer Datei auslesen, das in Cents umwandeln und damit weiter rechnen.
Die Zeile zum einlesen lautet:
So, ein wenig modifiziert, um erkennen können, was er tut:
der Output sieht dann z.B. so aus:
Was zur Hölle soll die 4. Zeile?!
Und wie krieg ich da richtige Werte raus?
Ach ja, hier noch ein KSKB:
Es soll Eurobeträge aus einer Datei auslesen, das in Cents umwandeln und damit weiter rechnen.
Die Zeile zum einlesen lautet:
Code:
i[c]=(int)(100.0*(Float.parseFloat(f.readLine().replace(',', '.'))));
So, ein wenig modifiziert, um erkennen können, was er tut:
Code:
String zeile=f.readLine();
System.out.println(zeile);
System.out.println(zeile.replace(',', '.'));
System.out.println((Float.parseFloat(zeile.replace(',', '.'))));
System.out.println(100.0*(Float.parseFloat(zeile.replace(',', '.'))));
System.out.println((int)(100.0*(Float.parseFloat(zeile.replace(',', '.')))));
i[c]=(int)(100.0*(Float.parseFloat(zeile.replace(',', '.'))));
der Output sieht dann z.B. so aus:
6.64
6.64
6.64
663.9999866485596
663
Was zur Hölle soll die 4. Zeile?!
Und wie krieg ich da richtige Werte raus?
Ach ja, hier noch ein KSKB:
Code:
public class KSKB
{
public static void main(String[] args)
{
String zeile="6.64";
System.out.println(zeile);
System.out.println(zeile.replace(',', '.'));
System.out.println((Float.parseFloat(zeile.replace(',', '.'))));
System.out.println(100.0*(Float.parseFloat(zeile.replace(',', '.'))));
System.out.println((int)(100.0*(Float.parseFloat(zeile.replace(',', '.')))));
int i=(int)(100.0*(Float.parseFloat(zeile.replace(',', '.'))));
}
}