Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.StringTokenizer;
- public class NumberToWordsConverter {
- public static final String[] units = {
- "", "Jeden", "Dwa", "Trzy", "Cztery", "Piec", "Szesc", "Siedem",
- "Osiem", "Dziewiec", "Dziesiec", "Jedenascie", "Dwanascie", "Trzynascie", "Czternascie",
- "Pietnascie", "Szesnascie", "Siedemnascie", "Osiemnascie", "Dziewietnascie"
- };
- public static final String[] tens = {
- "", // 0
- "", // 1
- "Dwadziescia", // 2
- "Trzydziesci", // 3
- "Czterdziesci", // 4
- "Piecdziesiat", // 5
- "Szescdziesiat", // 6
- "Siedemdziesiat", // 7
- "Osiemdziesiat", // 8
- "Dziewiedziesiat" // 9
- };
- public static String doubleConvert(double n) {
- String output = n + "";
- StringTokenizer token = new StringTokenizer(output, ".");
- String whole = token.nextToken();
- String fract = token.nextToken();
- try {
- output = convert(Integer.parseInt(whole)) + " ";
- output = output + "Kropka";
- for (int i = 0; i < fract.length(); i++) {
- String get = convert(Integer.parseInt(fract.charAt(i) + ""));
- if (get.isEmpty()) {
- output = output + " " + "Zero";
- } else {
- output = output + " " + get;
- }
- }
- } catch (NumberFormatException nf) {
- }
- return output;
- }
- public static String convert(int n) {
- if (n < 0) {
- return "Minus " + convert(-n);
- }
- if (n < 20) {
- return units[n];
- }
- if (n < 100) {
- return tens[n / 10] + ((n % 10 != 0) ? " " : "") + units[n % 10];
- }
- if (n < 1000) {
- return units[n / 100] + " Set " + ((n % 100 != 0) ? " " : "") + convert(n % 100);
- }
- if (n < 1000000) {
- return convert(n / 1000) + " Tysiecy " + ((n % 1000 != 0) ? " " : "") + convert(n % 1000);
- }
- if (n < 1000000000) {
- return convert(n / 1000000) + " Milionow " + ((n % 1000000 != 0) ? " " : "") + convert(n % 1000000);
- }
- return convert(n / 1000000000) + " Bilionow " + ((n % 1000000000 != 0) ? " " : "") + convert(n % 1000000000);
- }
- public static void main(String[] args) {
- System.out.println(doubleConvert(12346.3));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement