lunes, 4 de octubre de 2021

Java: Cambiar formato de importe String a coma para decimales y puntos para miles

 private static final String PATTERN = "#,##0.00";

/**
     * Formatea un importe a String en formato numerico
     * @param valor   Valor a formatear
     * @param entrada Indica true para entrada (hacia tx) o false para salida (hacia
     *                front)
     * @return
     */
    public static String formatImporte(final String valor, final boolean entrada) {
        DecimalFormat decimalFormat = (DecimalFormat) NumberFormat.getNumberInstance(Locale.GERMAN);
        decimalFormat.applyPattern(PATTERN);

        if (valor != null && !"".equals(valor.trim())) {
            double conValor = 0;
            try {
                conValor = Double.parseDouble(valor);
            } catch (NumberFormatException e) {
                String valorReplace = valor.replace(".", "").replace(",", ".");
                conValor = Double.parseDouble(valorReplace);
            }

            if (entrada) {
                return Double.toString(conValor);
            } else {
                return decimalFormat.format(conValor);
            }
        }

        return valor;
    }

No hay comentarios:

Publicar un comentario