package tomp.ucebnice.narodni; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.IOException; import java.util.Locale; import java.text.NumberFormat; import java.text.DecimalFormat; public class CislaMena { private PrintWriter pw; public CislaMena(PrintWriter pw) { this.pw = pw; } public void formatujCisla(Locale l) { long cisloLong = -1234567890l; int cisloInt = 123456789; short cisloShort = -12345; byte cisloByte = 123; float cisloFloat = 123.45f; double cisloDouble = -123e10; String vzorek1 = "00000.000"; String vzorek2 = "#####.###"; NumberFormat f = NumberFormat.getNumberInstance(l); NumberFormat menaF = NumberFormat.getCurrencyInstance(l); NumberFormat procentaF = NumberFormat.getPercentInstance(l); DecimalFormat vlastniF1 = (DecimalFormat)NumberFormat.getNumberInstance(l); vlastniF1.applyPattern(vzorek1); DecimalFormat vlastniF2 = (DecimalFormat)NumberFormat.getNumberInstance(l); vlastniF2.applyPattern(vzorek2); String[] formatovanaCisla = { "Jazyk = "+l.getDisplayLanguage(), "Země = "+l.getDisplayCountry(), "(long) " + cisloLong + " => " + f.format(cisloLong), "(int) " + cisloInt + " => " + f.format(cisloInt), "(short) " + cisloShort + " => " + f.format(cisloShort), "(byte) " + cisloByte + " => " + f.format(cisloByte), "(float) " + cisloFloat + " => " + f.format(cisloFloat), "(double) " + cisloDouble + " => " + f.format(cisloDouble), "(+float, měna) " + cisloFloat + " => " + menaF.format(cisloFloat), "(-float, měna) " + (-cisloFloat) + " => " + menaF.format(-cisloFloat), "(float, procenta) " + cisloFloat + " => " + procentaF.format(cisloFloat), "(float, vlastní formát '" + vzorek1 + "') " + cisloFloat + " => " + vlastniF1.format(cisloFloat), "(float, vlastní formát '" + vzorek2 + "') " + cisloFloat + " => " + vlastniF2.format(cisloFloat), "-----" }; for (int i = 0; i < formatovanaCisla.length; i++) pw.println(formatovanaCisla[i]); } public static void main(String args[]) throws IOException { CislaMena c = new CislaMena( new PrintWriter( new OutputStreamWriter(System.out, "Cp852"), true ) ); c.formatujCisla(new Locale("cs", "CZ")); c.formatujCisla(new Locale("sk", "SK")); c.formatujCisla(new Locale("en", "GB")); c.formatujCisla(new Locale("en", "US")); c.formatujCisla(new Locale("de", "DE")); c.formatujCisla(new Locale("fr", "FR")); } }