4 Mayıs 2009 Pazartesi

Sayıyı yazıya çeviren class

Sayıyı yazıya çeviren class örneği...

--------------------------------------------------

import java.text.NumberFormat;
import java.math.BigDecimal;

class YTL {
private double miktar;
private String fMiktar;
private final String birim = " YTL";
private String birler[] = {"", "BIR", "IKI", "UC", "DORT", "BES", "ALTI", "YEDI", "SEKIZ", "DOKUZ"};
private String onlar[] = {"", "ON", "YIRMI", "OTUZ", "KIRK", "ELLI", "ALTMIS", "YETMIS", "SEKSEN", "DOKSAN"};
private String binlik[] = {"", "YUZ", "", "", "BIN", "", "", "MILYON", "", "", "MILYAR", "", "", "TRILYON", "", "", "KATRILYON", "", "", "KENTRİLYON"};
private String tampon = "";
private int sayi = 0;
private int sayac = 0;
private int sifirSayac = 0;

public YTL() {
miktar = 0.0;
format();
}

public YTL(double m) {
miktar = m;
format();
}

public void setYTL(double sm) {
miktar = sm;
format();
}

public double getYTL() {
return miktar;
}

public String toTL() {
return NumberFormat.getInstance().format(miktar * 1000000) + " TL";
}

private void format() {
fMiktar = NumberFormat.getInstance().format(miktar);
}

public String getBicimliYaz() {
return fMiktar + birim;
}

public String toYazi() {
BigDecimal para = new BigDecimal(miktar);
String paraMiktari = para.toString();
int noktaPozisyonu = paraMiktari.indexOf(".");
String gidenString = "";

for (int i = paraMiktari.length() - 1; i >= 0; i--) {
sayi = Integer.parseInt(Character.toString(paraMiktari.charAt(i)));
sayac++;

if (sayi == 0) {
sifirSayac++;
}

if (sayac == 1) {
tampon = birler[sayi];
}

if (sayac == 2 || sayac == 5 || sayac == 8 || sayac == 11 || sayac == 14 || sayac == 17 || sayac == 20) {
tampon = onlar[sayi];
}

if (sayac == 3 || sayac == 6 || sayac == 9 || sayac == 12 || sayac == 15 || sayac == 18 || sayac == 21) {
if (sifirSayac < tampon =" birler[sayi]" tampon =" binlik[1];" sifirsayac =" 0;" sayac ="=" sayac ="=" sayac ="=" sayac ="=" sayac ="=" sayac ="=" tampon =" birler[sayi]" sayi ="=" tampon =" binlik[sayac];">= 6) && sayac == 4) {
tampon = binlik[sayac];
}
}
}
}
gidenString = tampon + gidenString;
tampon = "";
}
return gidenString;
}

public static void main(String s[]) {
YTL para = new YTL(10001001001001001.0);
System.out.println("para.toTL()\t: " + para.toTL());
System.out.println("para.getYTL()\t: " + para.getYTL());
System.out.println("para.getBicimliYaz()\t: " + para.getBicimliYaz());
System.out.println("para.toYazi()\t: " + para.toYazi());
}
}

Hiç yorum yok:

Yorum Gönder