🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.java
2 messages
2 total messages Started by Smok Thu, 27 Dec 2012 21:21
zmiana przecinka na kropkę w double
#153727
Author: Smok
Date: Thu, 27 Dec 2012 21:21
37 lines
3090 bytes
Cześć.
Mam do obrobienia plik XML. Najpierw pobieram go z internetu i wrzucam do pliku:

                URL url = new URL("http://www.nbp.pl/kursy/xml/LastC.xml");
                url.openConnection();
                InputStream reader = url.openStream();

                FileOutputStream writer = new FileOutputStream("NewC.xml");
                byte[] buffer = new byte[153600];
                int totalBytesRead = 0;
                int bytesRead = 0;
  
                while ((bytesRead = reader.read(buffer)) > 0)
                {
                    writer.write(buffer, 0, bytesRead);
                    buffer = new byte[153600];
                    totalBytesRead += bytesRead;
                }
                writer.close();
                reader.close();

Niestety, w tym pliku są kursy walut (double) ale z przecinkami zamiast kropek.
Jak zamienić przecinki na kropki? Gdzie to zrobić? Czy można zrobić jakiś odpowiednik replaceAll w tym strumieniu? 
A może zmiany dokonać już w konstruktorze klasy, wywoływanym przez bibliotekę xstream przy parsowaniu pliku XML? Odebrać wartość jako string, zmienić kropki na przecinki i rzutować na double... coś w tym rodzaju: 
    public pozycja(String data_notowania, String kod_waluty, String nazwa_waluty, int przelicznik, String kurs_kupna, String kurs_sprzedazy) throws ParseException {
        kurs_kupna.replaceAll(",", ".");
        kurs_sprzedazy.replaceAll(",", ".");
        this.kod_waluty = kod_waluty;
        this.nazwa_waluty = nazwa_waluty;
        this.przelicznik = przelicznik;
        this.kurs_kupna = Double.parseDouble(kurs_kupna);
        this.kurs_sprzedazy = Double.parseDouble(kurs_sprzedazy);
        this.data_notowania = data_notowania;
}
Jak to zrobić, żeby było najlepiej?
Dzięki
Smok.
Re: zmiana przecinka na kropkę w double
#153728
Author: Bogusław Szczepanowski
Date: Thu, 27 Dec 2012 22:09
17 lines
1401 bytes
Dnia 27-12-2012 o 22:21:52 Smok <ismoczkiewicz@gmail.com> napisał(a):

> Cześć.
> Mam do obrobienia plik XML. Najpierw pobieram go z internetu i wrzucam  
> do pliku:
>
> Niestety, w tym pliku są kursy walut (double) ale z przecinkami zamiast  
> kropek.
> Jak zamienić przecinki na kropki?

Może tak: http://xstream.codehaus.org/converter-tutorial.html

-- 
Boguś
/Każdy skutek ma swoją przyczynę/

--- news://freenews.netfront.net/ - complaints: news@netfront.net ---
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads