Archivo

Entradas Etiquetadas ‘bolivar fuerte’

Conversion de Bs. a Bs.F. en Java (II)

Jueves, 3 de enero de 2008

BsF
No resisti la tentación de envenenar el programita (n pasaban nada bueno en televisión :) )

Ya mis vacaciones llegaron a su fin; Voy a emplear el último dia en algo que no tenga que ver con la computadora (es increible como pasan de rápido 2 semanas).

En fin, de vuelta a la realidad :)

Me puse a jugar un poco con el pedacito de código que convierte de Bs. a Bs.F. desde Java y lo converti en un programa con interfaz gráfica el cual te puedes correr desde tu navegador, o si lo prefieres desde la linea de comandos así:

javaws http://kodegeek.com/java/Bsf.jnlp

Me di cuenta de un error cuando procesas números en formato distinto al idioma Ingles el cual solucione usando DecimalFormat el cual si soporta Locale. También removi un cambio global de Locale el cual no era necesario.

Como siempre el código está disponible en Source Forge, se aceptan sugerencias para mejorarlo.

Actualización: Llegamos al apartamento a las 2:00 AM, de vuelta a Norwalk :)

Blogalaxia:, , ,
Technorati:, , ,
To2blogs:, , ,
Del.icio.us:, , ,

java , , ,

Convirtiendo Bolivares a Bolivares Fuertes desde Java

Martes, 1 de enero de 2008

El primer post del año y aún recuperandome de los abusos de Diciembre 31. Para ponermela fácil, voy a volver sobre mis pasos del año anrterior y voy a hablarles un poco más sobre la reconversión de Bolivares a Bolivares Fuertes. En este caso no voy a seguir rumiando sobre si es útil o no, sino más bien sobre como podemos hacer la conversión en este caso desde Java (Los detalles concretos sobre como implementar la solución en cualquier lenguaje estan en la página que habla sobre la reconversión).

Note lo siguiente:

  • Este algoritmo sólo sirve para hacer pagos ya que redondea a dos decimales. Cuando se convierte datos historicos se deben usar 3 para poder convertir de vuelta cantidades
  • No me hago responsable de ninguna manera sobre lo que este código puede hacer, viene con licencia GPL (aunque si tiene errores lo limpiaré con mucho gusto).

El código en Java, sn más preambulos:

 1 package com.kodegeek.blog.finance.venezuela; 2 3 import java.math.BigDecimal; 4 import java.math.RoundingMode; 5 import java.text.DecimalFormat; 6 import java.text.NumberFormat; 7 import java.util.Locale; 8 9 /**10  * Class that performs the conversion between "Bolivares"and "Bolivares Fuertes" using proper rounding11  * as defined on the following official document: <ahref="http://www.reconversionbcv.org.ve/files/pdf/aspectosnov07.pdf" onclick="javascript:_gaq.push(['_trackEvent','download','http://www.reconversionbcv.org.ve/files/pdf/aspectosnov07.pdf']);">Reconversion BCV</a>12  * License: GPL13  * @author josevnz@kodegeek.com14  */15 public final class BsF {16  private static NumberFormat nForm;17  static {18   // Set the locale to Venezuela19   Locale.setDefault(new Locale("es", "VE"));20   nForm = new DecimalFormat("BsF #.00");21  }2223  private static final BigDecimal FACTOR = new BigDecimal(Math.pow(10, 3));24  private static final double PLACES = (double) Math.pow(10, 2);2526  public static double bsTobsF(double value) {27   BigDecimal valScale = new BigDecimal(value);28   return valScale.divide(FACTOR, 2, RoundingMode.HALF_UP).doubleValue();29  }3031  public static double bsFtoBs(double value) {32   BigDecimal valScale = new BigDecimal(value);33   return valScale.multiply(FACTOR).doubleValue();34  }3536  public static void main(String [] args) {37   double value = Double.parseDouble(args[0]);38   value = bsTobsF(value);39   System.out.println(nForm.format(value));40  }41 }                                                                                                           

Menos de 50 lineas de código, incluyendo comentarios y cosas inútiles, todo en menos de 10 minutos (creo que no tiene bugs pero tengo el derecho de equivocarme).

Por cierto, ¿ha jugado con el programa oficial de reconversión en línea? Es horroroso, ya que:

  • No te deja meter la cantidad directamente, en vez de eso tienes que pulsar TODOS los números en la calculadora
  • Te deja especificar Bolivares Fuertes (O bolivares) tanto en la fuente como el destino de la conversión (estupido). Un botón e selección simple soluciona el problema.
  • Está escrita en Flash (OK, no es un bug sino mal gusto :) )

Si me animan quizas ponga una aplicación aqui en el blog, haganmelo saber si están interesados.

Blogalaxia:, , ,
Technorati:, , ,
To2blogs:, , ,
Del.icio.us:, , ,

java , , ,

El bolivar fuerte: ¿Quien se acuerda del bug del año 2000?

Jueves, 8 de marzo de 2007

Leyendo en el Universal me encuentro que el Bolivar (la moneda oficial Venezolana) va a perder 3 ceros. El Banco Central de Venezuela ya está trabajando en el asunto y los cambios entraran en vigencia en el 2008.

Levanten la mano: ¿quienes se acuerdan aún del famoso bug del año 2000 y para los que viven en los Estados Unidos, los cambios obligatorios del DST (Daily Save Time)?

Cada lenguaje y plataforma tienen su solución. Cada periodista predice el fin del mundo como lo conocemos cada vez que estos cambios tienen lugar.

Sin pensarlo mucho esta propuesta va a traer cambios significativos al software utilizado en el país. Aún falta un año para esto, sin embargo el tiempo pasa volando.

Amanecerá y veremos.

Sin categoría , , ,