String

1 resposta
D

Robson, tenho uma string que recebe uma outra string com valores.

ex.: ele vem dessa forma 4850,18

Como faço para formartar esse valor para ficar R$ 4.850,18 ?

1 Resposta

D

Tenho um código aqui, acho que peguei até no PJ sobre Patterns que formata isso direitim..
Tem vários tipos de formatações é só pegar o que mais lhe agradar e lhe servir..
dá um bizu ai

import java.text.DecimalFormat;
import java.util.Locale;

/**
 *  Exemplo de utilizacao da classe DecimalFormat para formatacao de
 numeros.
 *
 * @author     Handerson Ferreira Gomes
 * @created    June 11, 2002
 */
public class DecimalFormatExample {

  /**
   *  Metodo de execucao da classe DecimalFormatExample
   * @param  args  Um modelo de formatacao para ser utilizado pela
   aplicacao
   */

  public static void main(String[] args) {
    Locale locale = Locale.getDefault();
    System.out.println("Este Sistema Operacional usa atualmente as seguintes Configuracoes (Default):");
    System.out.println("Pais           : " + locale.getDisplayCountry());
    System.out.println("Lingua/Teclado : " + locale.getDisplayLanguage() + " - " + locale.getDisplayName());
    System.out.println("");
    DecimalFormat formatador = new DecimalFormat();
    double valor1 = 235040.30;
    float valor2 = -235040.30f;
    int valor3 = 235040;
    String valor4 = "235040.30";

    System.out.println("Numeros sem formatacao:");
    System.out.println("Valor 1 : " + valor1);
    System.out.println("Valor 2 : " + valor2);
    System.out.println("Valor 3 : " + valor3);
    System.out.println("Valor 4 : " + valor4);
    System.out.println();

    System.out.println("Numeros utilizando a formatacao Default:");
    System.out.println("Valor 1 : " + formatador.format(valor1));
    System.out.println("Valor 2 : " + formatador.format(valor2));
    System.out.println("Valor 3 : " + formatador.format(valor3));
    System.out.println("Valor 4 : " + formatador.format(new java.math.BigDecimal(valor4)));
    System.out.println();

    System.out.println("Utilizando o Pattern: R$ 000,000.00;R$ (000,000.00)");
    formatador.applyPattern("R$ 000,000.00;R$ (000,000.00)");
    System.out.println("Valor 1 : " + formatador.format(valor1));
    System.out.println("Valor 2 : " + formatador.format(valor2));
    System.out.println("Valor 3 : " + formatador.format(valor3));
    System.out.println("Valor 4 : " + formatador.format(new java.math.BigDecimal(valor4)));
    System.out.println();
    float f = (float) 10.20; 
    String s = Float.toString(f);

    
    if (args.length > 0) {
      String pattern = "";
      for (int i = 0; i < args.length; i++) {
        pattern += args[i] + " ";
      }
      pattern = pattern.trim();
      System.out.println("Utilizando o Pattern: " + pattern);
      try {
        formatador.applyPattern(pattern);
        System.out.println("Valor 1 : " + formatador.format(valor1));
        System.out.println("Valor 2 : " + formatador.format(valor2));
        System.out.println("Valor 3 : " + formatador.format(valor3));
        System.out.println("Valor 4 : " + formatador.format(new java.math.BigDecimal(valor4)));
      }
      catch (IllegalArgumentException e) {
        System.out.println("ERRO: Pattern invalido.");
        System.out.println(e.getMessage());
      }
    }
    else {
      System.out.println("Voce pode enviar um pattern como argumento para a aplicacao. Ex:");
      System.out.println("java DecimalFormatExample U$ 000.00");
    }
  }
}

Certinho?

Criado 13 de setembro de 2004
Ultima resposta 13 de set. de 2004
Respostas 1
Participantes 2