import javax.swing.JOptionPane; public class numtostr { public static void main(String[] args) { String getNum = JOptionPane.showInputDialog("Enter Number"); String result = NumToStr(getNum); System.out.println(result); } public static String NumToStr(String num) { int Flen, Llen = 0; String sNum[] = new String[2]; sNum[0] = num; System.out.println("XX" + num.indexOf(".") + "XX"); if (num.indexOf(".") >= 0) { sNum = num.split("\\."); Flen = sNum[0].length(); Llen = sNum[1].length(); } else { Flen = num.length(); } int count = Flen / 7; if (count == 0) { count = 1; } String meanThai[] = { "", "สิบ", "ร้อย", "พัน", "หมื่น", "แสน", "ล้าน" }; String numThai[] = { "หนึ่ง", "สอง", "สาม", "สี่", "ห้า", "หก", "เจ็ด", "แปด", "เก้า" }; StringBuffer Fbuf = new StringBuffer(); StringBuffer Lbuf = new StringBuffer(); for (int i = 0; i < Flen; i++) { int inum = 0; for (char k = '1'; k <= '9'; k++) { System.out.println(sNum[0].charAt(i) + "=" + k); if (sNum[0].charAt(i) == k) { Fbuf.append(numThai[inum]); Fbuf.append(meanThai[Flen - i - 1]); } inum++; } } for (int i = 0; i < Llen; i++) { int inum = 0; for (char k = '1'; k <= '9'; k++) { System.out.println(sNum[1].charAt(i) + "=" + k); if (sNum[1].charAt(i) == k) { Lbuf.append(numThai[inum]); } inum++; } } if(Fbuf.toString().indexOf("สองสิบ")>=0){ Fbuf.replace(Fbuf.toString().lastIndexOf("สองสิบ"), Fbuf.toString().lastIndexOf("สองสิบ")+3, "ยี่"); } String dot = ""; if(!Lbuf.toString().trim().equals("")){ dot = "จุด"; } String result = Fbuf.toString() + dot + Lbuf.toString(); return result; } }
สำหรับศึกษาเกี่ยวกับภาษา Java และกันลืมของกระผมเอง เพราะการทำโปรแกรมนั้นส่วนใหญ่ก็ไม่สามารถจำ คำสั่งต่างๆได้หมดและเพื่อเป็นความรู้กับบุคคลทั่วไป ใครมีโจทย์ปัญหาอะไรที่คิดไม่ออกก็โพสลงไว้ได้นะครับจะเช็ดดูทุกวัน
31 มี.ค. 2554
ตัวเลขเป็นจำนวนเงินไทย
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ตรง for loop ข้างล่าง for ที่สมบูรณ์เป็นยังไงเหรอครับ
ตอบลบแก้ใหม่แล้วครับ พอดีแสดงไม่ครบ
ลบ