Wyświetlanie float - niczym się nie różni a nie działa

0

Mam taki problem, mam obliczona różnicę 2 wartości i zapisaną do zmiennej "zmiana" i o tyle o ile wyświetlając w konsoli podaje mi prawidłową wartość to o tyle zapisując do pliku już nie :(

float zmiana = fl - flo;

                    System.out.printf("%-30s %-20s %-20s %-20.4f\n",
                            ((Node) nW.item(0)).getNodeValue(),
                            ((Node) kodW.item(0)).getNodeValue(),
                            ((Node) kursS.item(0)).getNodeValue(),
                            zmiana);
                    
                    plikWy.write("\r\n");
                    plikWy.write(((Node) nW.item(0)).getNodeValue() + "\t\t"
                            + ((Node) kodW.item(0)).getNodeValue() + "\t"
                            + ((Node) kursS.item(0)).getNodeValue() + "\t\t"
                            + zmiana); 
1

co znaczy "Już NIE"?
Powinieneś napisać co otrzymujesz w obu wypadkach i czemu w tym drugim jest źle.

Jak dla mnie to jest problem formatowania liczby, bo dla konsoli robisz formatowanie, a dla pliku już nie.
Nie prościej jest zrobić tak:

string result = string.format("%-30s %-20s %-20s %-20.4f\n",
                            ((Node) nW.item(0)).getNodeValue(),
                            ((Node) kodW.item(0)).getNodeValue(),
                            ((Node) kursS.item(0)).getNodeValue(),
                            zmiana);
System.out.print(result);
plikWy.write(result);

Jeszcze inny możliwy powód problemów to to, że używasz plik bezpośrednio zamiast używać PrintStream.

0

Dziękuję :) Właśnie tego mi brakowało !

1 użytkowników online, w tym zalogowanych: 0, gości: 1