Metoda Float.parseFloat() Java
Nejpřímější a nejpoužívanější metodou pro převod řetězce na číslo s plovoucí desetinnou čárkou v Javě je použití metody Float.parseFloat() . Tato statická metoda je součástí třídy Float a přijímá jeden argument obsahující řetězcovou reprezentaci čísla s plovoucí desetinnou čárkou. Metoda vrací primitivní hodnotu s plovoucí desetinnou čárkou , která představuje číselnou hodnotu vstupního řetězce.
String str = "3.14";
float floatNum = Float.parseFloat(str);
System.out.println("Converted float: " + floatNum);
Ve výše uvedeném příkladu nejprve vytvoříme řetězec str , který představuje číslo s plovoucí desetinnou čárkou „3.14“. Dále zavoláme metodu Float.parseFloat() s tímto řetězcem jako argumentem. Tato metoda zpracuje vstupní řetězec a vrátí primitivní hodnotu typu float, kterou uložíme do proměnné floatNum . Nakonec výslednou hodnotu typu float vypíšeme do konzole.
Zpracování výjimky NumberFormatException
Je nezbytné zvážit možnost výskytu výjimky NumberFormatException při převodu řetězců na čísla s desetinnou čárkou pomocí metody Float.parseFloat() . Pokud vstupní řetězec obsahuje nečíselné znaky nebo je nesprávně naformátován, metoda tuto výjimku vyvolá, což při nesprávném zpracování způsobí pád programu.
Chcete-li se těmto problémům vyhnout, doporučuje se použít blok try-catch pro zpracování potenciálních výjimek:
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);
V tomto příkladu máme vstupní řetězec str s neplatným formátem kvůli zahrnutí nečíselných znaků. Voláním metody Float.parseFloat() uvnitř bloku try můžeme bezpečně zpracovat výjimku NumberFormatException bez pádu programu. Blok catch se provede, pokud dojde k výjimce, upozorní uživatele na neplatný vstup a umožní programu pokračovat.
Java's DecimalFormat Class a Parse() metoda
Další přístup k převodu řetězce na číslo s desetinnou čárkou v Javě zahrnuje použití třídy DecimalFormat , která patří do balíčku java.text . Tato třída umožňuje přesnější kontrolu nad formátováním a parsováním desetinných čísel, včetně podpory číselných formátů specifických pro dané jazyky.
Třída DecimalFormat poskytuje metodu parse() , která přijímá řetězec jako argument a vrací objekt Number . Tento objekt lze poté převést na primitivní číslo s desetinnou čárkou:
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);
V tomto příkladu nejprve importujeme potřebné třídy z balíčku java.text . Poté vytvoříme objekt DecimalFormat , který nám umožní analyzovat vstupní řetězec str obsahující oddělovač desetinných míst specifický pro danou lokalitu. Metoda parse() se volá v bloku try a výsledek se ukládá do objektu Number . Nakonec toto číslo převedeme na primitivní číslo s desetinnou čárkou pomocí metody floatValue() a výsledek vypíšeme do konzole.
Stručně řečeno, převod řetězce na číslo s desetinnou čárkou je základním úkolem v programování v Javě a je klíčové porozumět různým metodám, knihovnám a funkcím, které se v tomto procesu převodu podílejí. Prozkoumáním metody Float.parseFloat() , zpracováním výjimky NumberFormatException a využitím síly třídy DecimalFormat mohou vývojáři spolehlivě transformovat řetězce na číselné hodnoty a vytvářet robustní a všestranné aplikace v Javě.