• Sábado 21 de Septiembre de 2024, 15:57

Autor Tema:  Ayuda Decimal Format Sumas '  (Leído 2412 veces)

esteban014

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Ayuda Decimal Format Sumas '
« en: Domingo 19 de Noviembre de 2006, 23:16 »
0
ola uso el decimal format para los resultados de unas funciones de multiplicacion que hago pero el problema es que quiero sumar pero cuando tengo 7 cifras de  digitos ej: 12.474.000 no puedo sacar resultados en cambio solo puedo hasta las cifras como por ejemplo 10.254 , 542.254 .pero tengo arriba de 7 cifras en la suma y no puedo se cae el programa uso las variabes en double las formateo para tenerlas en 12.005 , 5.224 , 563.254 ... este es el codigo que tengo cuando sumo :


// aca solo leo las cifras que ya estan calculadas y realiza la suma pero como les decia solo llego hasta las 6 cifras
       
totales.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {      
 
DecimalFormat formatoxx=new DecimalFormat("");
       
String ax,bx;
 
float resultadox,resultado2x,caja1_,caja2_,caja3_,caja4_,caja5_;

String ee;


 caja1_    = Float.parseFloat(t_variable1.getText());      
 caja2_    = Float.parseFloat(t_variable2.getText());
 caja3_    = Float.parseFloat(t_variable3.getText());
 caja4_    = Float.parseFloat(t_variable4.getText());
 
 bx        = String.valueOf(t_total.getText());
       
 resultadox = caja1_ + caja2_ + caja3_ + caja4_;      
// resultado2x=(Math.rint(resultadox));  
 
// ax=  formatoxx.format(resultadox);
 ee= String.valueOf(resultadox);
 
 t_total.setText(ee);
     
       
       }
        });

silverfox

  • Miembro MUY activo
  • ***
  • Mensajes: 280
    • Ver Perfil
Re: Ayuda Decimal Format Sumas '
« Respuesta #1 en: Lunes 20 de Noviembre de 2006, 11:01 »
0
Hola...

Vamos a ver...

El resultado de tu suma se guarda en una variable float, cuyo valor máximo es de 2139095039 en java. El número que has puesto tú (12474000) debería cogerlo sin problemas con un float.

De todas formas, cambia a Double.parseDouble y usa doubles para todas las operaciones.

Por otro lado, revisa también el patrón que le has puesto al DecimalFormat, que puede que no se corresponda con lo que tú quieres.

Si quieres un patrón estándar... ¿por qué no usas el Constructor base sin parámetros en lugar de meterle ""?



Si nada de esto funciona, por favor, postea dónde falla el programa y cuál es el error.



Un saludo.




Silverfox

esteban014

  • Miembro activo
  • **
  • Mensajes: 38
    • Ver Perfil
Re: Ayuda Decimal Format Sumas '
« Respuesta #2 en: Lunes 20 de Noviembre de 2006, 18:32 »
0
Ola ahora estaba probando de otras formas y me sale pero tengo que dejar los montos de 7 digitos  por ejemplo de esta manera : (12474.000 + 2370.060) y ahy
el resultado me sale asi " 14.844,06 " no tengo explicacion . usando double no era float se me olvido cambiar la variable cuando pege el codigo este es el error que me sale cuando sumo :




silverfox

  • Miembro MUY activo
  • ***
  • Mensajes: 280
    • Ver Perfil
Re: Ayuda Decimal Format Sumas '
« Respuesta #3 en: Martes 21 de Noviembre de 2006, 13:05 »
0
Hola...


El formato de números depende de tu configuración local (Clase Locale en Java, ver API).

En el caso de España (o puede que con configuración en Español), el punto decimal se representa con una coma y los separadores de miles son puntos.

Según el API, el patrón de DecimalFormat se forma con el caracter '.' para separador de decimales y ',' para los separadores de miles, que no tienen que coincidir necesariamente con el punto y la coma.

Por eso mismo, el patrón ##,###,###.#### te devuelve 1.234,56
y el patrón ##.###.###,#### te da un error (o bien, devuelve 12,3456)

DecimalFormat tiene un constructor que recibe como parámetro una instancia de la clase DecimalFormatSymbols. En esta clase es donde se pueden cambiar los caracteres que representan los separadores de miles y los de decimales que hay por defecto. Echa un vistazo al API de ambas clases.




Un saludo.






Silverfox