Java-ba, hogy lehet a számokat szétválasztani?
Ezzel próbálkozom már egy pár órája de nem tudom mi vele a gond.
String.format("%,d", ertek).replace(" ", ".");
"String.format("%,d", ertek).replace(" ", ".");"
Szerintem az, hogy beleírod, hogy
%,d azaz vesszőkkel szétválasztja a számot, és utána minden szóközt pontra cseréled, holott nincs benne szóköz.
Ezt kipróbáltam és megy:
.replace(",", ".")
Na kérem itt több probléma is van.
1, A %,d-ben a vessző nem szóközt jelent, hanem az ezres-elválasztó karaktert, ami hely/nyelv függő, tehát egy angol windowson nem ua. mint egy magyaron.
2, A magyar ezres elválasztó bár szóköznek tűnik, nem az! Hanem a 160-as kódú karakter.
3. Ki ehet próbálni :)
import java.util.Locale;
public class EzresTagolas {
public static void main(String[] args) {
System.out.println("AMERIKAI ANGOLUL:");;
Locale.setDefault( Locale.US );
int ertek = 1567234;
String s = String.format("%,d", ertek);
System.out.println(s);
for( int i=0; i<s.length(); i++) {
char c = s.charAt(i);
System.out.print((int)c+"_");
}
System.out.println();
s = s.replace(' ', '.');
System.out.println(s);
System.out.println("MAGYARUL:");;
Locale.setDefault( new Locale("hu","HU") );
ertek = 1567234;
s = String.format("%,d", ertek);
System.out.println(s);
for( int i=0; i<s.length(); i++) {
char c = s.charAt(i);
System.out.print((int)c+"_");
}
System.out.println();
s = s.replace(' ', '.');
System.out.println(s);
}
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!