Riješeno: pretvoriti string u float java

Posljednje ažuriranje: 06/19/2023

pretvoriti string u float Pretvaranje stringa u float uobičajen je zadatak u Java programiranju, posebno kada se radi o korisničkim unosima ili podacima iz vanjskih izvora koje je potrebno obraditi i transformirati u numeričke vrijednosti za proračune i poređenje. U ovom članku ćemo istražiti različite metode i pristupe za pretvaranje stringa u float, raspravljati o prednostima i potencijalnim zamkama i pružiti postupna objašnjenja koda uključenog u proces. Nadalje, duboko ćemo se upustiti u Java biblioteke i funkcije povezane s ovim problemom, pokazujući njihovu relevantnost i primjenjivost na scenarije programiranja u stvarnom svijetu.

Java Float.parseFloat() metoda

Najjednostavniji i najrašireniji metod za pretvaranje niza u float u Javi je korištenje Float.parseFloat () metoda. Ova statička metoda je dio plovak omotač i uzima jedan argument koji sadrži string prikaz broja s pomičnim zarezom. Metoda vraća primitiv float vrijednost koja predstavlja numeričku vrijednost ulaznog niza.

String str = "3.14";
float floatNum = Float.parseFloat(str);
System.out.println("Converted float: " + floatNum);

U gornjem primjeru prvo kreiramo string str koji predstavlja broj s pomičnim zarezom “3.14”. Zatim zovemo Float.parseFloat () metoda sa ovim stringom kao argumentom. Ova metoda obrađuje ulazni niz i vraća primitivnu float vrijednost koju pohranjujemo u varijablu floatNum. Konačno, ispisujemo rezultirajući float na konzolu.

Rukovanje NumberFormatException

Bitno je razmotriti mogućnost susreta sa a NumberFormatException kada pretvarate nizove u float koristeći Float.parseFloat () metoda. Ako ulazni niz sadrži nenumeričke znakove ili je pogrešno formatiran, metoda će izbaciti ovaj izuzetak, uzrokujući pad programa ako se njime ne rukuje pravilno.

Da biste izbjegli takve probleme, preporučuje se korištenje bloka try-catch za rukovanje potencijalnim izuzecima:

String str = "3.14a";
float floatNum = 0;
try {
    floatNum = Float.parseFloat(str);
} catch (NumberFormatException e) {
    System.out.println("Invalid format: " + e.getMessage());
}
System.out.println("Converted float: " + floatNum);

U ovom primjeru imamo ulazni niz str sa nevažećim formatom zbog uključivanja nenumeričkih znakova. Prilikom pozivanja Float.parseFloat () metodom unutar bloka try, možemo bezbedno rukovati NumberFormatException bez rušenja programa. Blok catch će se izvršiti ako dođe do izuzetka, upozoravajući korisnika na nevažeći unos i dozvoljavajući programu da nastavi.

Java klasa DecimalFormat i metoda Parse().

Drugi pristup pretvaranju stringa u float u Javi uključuje korištenje DecimalFormat klase, koja pripada java.text paket. Ova klasa omogućava precizniju kontrolu nad formatiranjem i raščlanjivanjem decimalnih brojeva, uključujući podršku za formate brojeva specifičnih za lokalizaciju.

The DecimalFormat klasa pruža a parse() metoda koja uzima string kao argument i vraća a broj objekt. Ovaj objekat se zatim može pretvoriti u primitivnu float vrijednost:

import java.text.DecimalFormat;
import java.text.ParseException;

String str = "3,14";
DecimalFormat decimalFormat = new DecimalFormat();
Number number;
float floatNum = 0;
try {
    number = decimalFormat.parse(str);
    floatNum = number.floatValue();
} catch (ParseException e) {
    System.out.println("Invalid format: " + e.getMessage());
}
System.out.println("Converted float: " + floatNum);

U ovom primjeru prvo uvozimo potrebne klase iz java.text paket. Zatim kreiramo a DecimalFormat objekat, koji će nam omogućiti da raščlanimo ulazni niz, str, koji sadrži decimalni separator specifičan za lokalizaciju. The parse() metoda se poziva unutar bloka try, s rezultatom pohranjenim u a broj objekt. Konačno, pretvaramo ovaj broj u primitivni float koristeći floatValue() metodu i odštampajte rezultat na konzoli.

Ukratko, pretvaranje stringa u float je osnovni zadatak u Java programiranju i ključno je razumjeti različite metode, biblioteke i funkcije uključene u ovaj proces konverzije. Istraživanjem Float.parseFloat () metoda, rukovanje NumberFormatException, i iskorištavanje moći DecimalFormat klase, programeri mogu pouzdano transformirati stringove u numeričke vrijednosti i kreirati robusne, svestrane Java aplikacije.

Slični postovi: