CODIGO JAVA Y CONVERTIR DE NUMEROS DECIMALES A LETRAS
Vuelvo al ataque con este desagradable tema. Casi a nadie le interesa o eso creia yo, pues hace unos dias atras lei que en SourceForge.net los proyectos basados en Java han superado a los basados en C y que al parecer los basado en Ruby han crecido bastante en numero. Pero bueno, aqui les dejo una nueva lista de codigo para -nuevamente- pasar numeros (en este caso cifras) a palabras. import java.io.*;
public class Cheque {
private double cantidad;
private String moneda;
public Cheque(double x, String s) {
cantidad = x;
moneda = s;
}
public int getCentavo() {
return((int)(getDecimal(cantidad)*(cantidad - getEuro()) + 1));
// return ((int)(getDecimal()*(cantidad - Math.floor(cantidad))) + 1);
}
public int getEuro() {
return((int)cantidad);
}
public String getTipoMoneda() {
return moneda;
}
public int getDecimal(double s) {
String str = String.valueOf(s);
int value = 10;
for (int i = 0; i < str.length(); ++i) {
char x = str.charAt(i);
if (x != '.') {
value = 10 * value;
break;
}
}
return value;
}
public String toString() {
String str = String.valueOf(getEuro());
String y = "-";
for (int i = 0; i <= str.length() - 1; i++) {
char x = str.charAt(i);
switch (x) {
case '1': y += "uno-";
continue;
case '2': y += "dos-";
continue;
case '3': y += "tres-";
continue;
case '4': y += "cuatro-";
continue;
case '5': y += "cinco-";
continue;
case '6': y += "seis-";
continue;
case '7': y += "siete-";
continue;
case '8': y += "ocho-";
continue;
case '9': y += "nueve-";
continue;
case '0': y += "cero-";
continue;
default : System.out.println("Error 555!");
}
}
return y;
}
public static void main(String[] args) {
Cheque elPrecio = new Cheque(1900.34, "EUR");
int euro = elPrecio.getEuro();
int cent = elPrecio.getCentavo();
String mone = elPrecio.getTipoMoneda();
String pala = elPrecio.toString();
System.out.println();
System.out.print("El Cheque es por: " + euro + " ");
System.out.print(mone);
System.out.println(" y " + cent + " centavos. ");
System.out.print("Y la cantidad en palabras es: " + pala + ".");
}
}
Resultado:
El Cheque es por: 1900 EUR y 34 centavos.
Y la cantidad en palabras es: -uno-nueve-cero-cero-.
1 comentarios:
buenazo
Publicar un comentario