public class ConvNumTexto { private static String []unid = {"cero", "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve"}; private static String []edec = {"diez", "once", "doce", "trece", "catorce", "quince"}; private static String []dece = {"diez", "veinte", "treinta", "cuarenta", "cincuenta", "sesenta", "setenta", "ochenta", "noventa"}; private static String []cent = {"ciento", "doscientos", "trescientos", "cuatrocientos", "quinientos", "seiscientos", "setecientos", "ochocientos", "novecientos"}; public String ConvBas(int n) { int xn = n; String xcad = ""; if (xn > 100 && xn < 1000) { xcad += cent[(xn / 100) - 1]; xcad += " "; xn = xn - (100 * (xn / 100)); } if (xn == 100) xcad += "cien"; if (xn > 15 && xn < 100) { xcad += dece[(xn / 10) - 1]; if ((xn % 10) != 0) xcad += " y "; xn = xn - (10 * (xn / 10)); } if (xn >= 10 && xn < 16) xcad += edec[xn - 10]; if (xn < 10) { if (xn == 0 && n != 0) return xcad; xcad += unid[xn]; } return xcad; } public String Conv(int n) { int r = 0, xn = n; String xcad = ""; if (xn == 1e+6) { xcad += "un millon"; return xcad; } if (xn >= 2e+3 && xn < 1e+6) { r = xn / 1000; xcad += ConvBas(r); xcad += " mil "; xn = xn - 1000 * r; } if (xn > 1e+3 && xn < 2e+3) { if (xn / 1000 == 1) xcad += "un"; else xcad += unid[xn / 1000]; xcad += " mil "; xn = xn - (1000 * (xn / 1000)); } if (xn == 1000) { xcad += "un mil "; return xcad; } if (xn >= 0 && xn < 1000) xcad += ConvBas(xn); return xcad; } // Funcion Principal .... public static void main(String[] args) { ConvNumTexto c = new ConvNumTexto(); int i; for (i = 0; i < 1000001; i++) { System.out.println(i + " ==>" + c.Conv(i)); } } }