Retirar R$ de formatação numérica

Para o codigo:

System.out.println(NumberFormat.getCurrencyInstance().format(2345));

Temos uma saida no console dessa maneira:
R$ 2.345,00

Como eu poderia tirar o R$?

Grato.

[quote=Johnnny8]Para o codigo:

System.out.println(NumberFormat.getCurrencyInstance().format(2345));

Temos uma saida no console dessa maneira:
R$ 2.345,00

Como eu poderia tirar o R$?

Grato.[/quote]

o método getCurrencyInstance é referenciado a moeda local.

Você poderia usar o DecimalFormat.

por exemplo:

DecimalFormat df = new DecimalFormat();  
        df.applyPattern("#,##0.00");  

Espero ter ajudado.

Artur Martini

Se não quer o R$ por que está usando o NumberFormat.getCurrencyInstance() ?

Use NumberFormat.getInstance() ou DecimalFormat.

Qual dos dois é mais aconselhavel?

[quote]
“#,##0.00”[/quote]
Poderia me explicar esses caracteres?

Grato.

= é um dígito de 0 até 9. Se ele for um zero à esquerda (ou no caso de estar depois da vírgula, um zero à direita), some.

0 = é um dígito de 0 até 9. Ele nunca some.
, = é um separador de milhar (em inglês é uma vírgula e em português um ponto)
. = é um ponto ou vírgula decimal (em inglês é um ponto e em português uma vírgula)

Tome cuidado!!! nunca confunda, em especificação de máscaras de formatação, o “,” com o “.”.
Para lhe ajudar, sempre pense que o Java foi desenvolvido por americanos, e para eles o separador de milhar é uma vírgula, não um ponto. Mas quando o número é impresso, ele fica certinho depois. Não faça a correção “antes” (ou seja, especificando incorretamente “#.###,##”) que vai dar totalmente errado.

NumberFormat.getCurrencyInstance etc. são formatos “enlatados” e que já respeitam a linguagem do sistema em que o Java está rodando.
DecimalFormat permite você especificar o formato exatamente como você quer.

você pode da um:

variavelString.replaceAll("R$", "");

//o java irá substituir o R$ por um espaço vazio.

E quando eu for pegar um numero que veio de uma String e querer formatar essa string durante a execução?
Ex: Estou fazendo a formatação dos números de uma calculadora. Existe um método que se chama numberTyped() que tem como objetivo concatenar todos os numeros do textfield. Esse metodo trabalha apenas com a String de retorno do textfield. Como eu posso fazer esse método numberTyped() formatar os numeros do textField como uma String?

private void numberTyped(String n) { num = jTextField1.getText(); num += n; //<=Quero formatar a String num para aparecer como "#,##0.00". Como faço isso? jTextField1.setText(num); }

Resumindo: Fazer o textField formatar a saida sempre assim: aaa.bbb.ccc.ddd ou aa.bbb.ccc ou a.bcd e etc…