Cómo convertir bigdecimals de cadenas en Java
En Java, el BigDecimal clase tiene varios métodos que permiten convertir BigDecimal valores a cadenas, dobles, o enteros. Echa un vistazo a la siguiente para obtener una lista de los métodos de conversión.
Procedimiento | Explicación |
---|---|
doble doubleValue () | Devuelve el valor de este BigDecimalcomo un doble. |
int intValue () | Devuelve el valor de este BigDecimalcomo una int. |
longValue largo () | Devuelve el valor de este BigDecimalcomo un largo. |
ToPlainString String () | Devuelve una representación de cadena de este BigDecimal que no utiliza scientificnotation. |
String toString () | Devuelve una representación de cadena de este BigDecimal que utiliza Siesnecesario notación científica. |
En la mayoría de los casos, la única razón para convertir una BigDecimal a una doble es así que usted puede utilizar el doble con el NumberFormat clase para formatear el valor de salida. Siempre y cuando usted no hace ningún cálculo intermedias con el doble, no se produce algún error de precisión menos que los números son grandes. (Usted comienza a tener problemas en cerca de 13 dígitos.)
He aquí un fragmento de código que convierte una BigDecimal objeto nombrado impuesto de venta a una doble y lo utiliza con el NumberFormat clase:
NumberFormat cf = NumberFormat.getCurrencyInstance () - doble taxD = salesTax.doubleValue () - System.out.println (cf.format (taxD)) -
También puede utilizar el Encadenar método para dar formato a un BigDecimal como una cadena, pero este método no agrega comas o cualquier otro sutilezas de formato. Tenga en cuenta también que este método a veces cambia a notación exponencial si el número es grande. Para evitar esto, se puede utilizar el toPlainString método en lugar.