Decimal format

Gente estou com um problema na formatacao de um valor em moeda.

Vi alguns codigos que transformam tal valor > 15000 em 15.000,00

Só q eu queria um que foce assim de 15000 para 150,00

Tipo foce contando de traz para frente, nos primeiros 2 characters botava uma virgula e nos outros 3 se tiverse um quarto botava um ponto.

Alguns exemploes:
1650075 - 16.500,75
100000052 - 1.000.000,52

O motivo de eu estar procurando um assim, é pelo fato de ele contar os centavos. Nos outros ele sempre bota o centavo como (,00).

Obrigado.

O que vc está usando?

Coloque o seu código para vermos.
Abraços

Cara agora eu entendi como ele faz a separacao do centavo… tem que usar o ponto.

Mais nesse meu codigo ele chama ou double e retorna a formatacao em string… como eu faria pra motrar depois em um Jlabel?

package javaapplication4;


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


/**
 *
 * @author Kelvin
 */
public class JavaApplication4 {

// Método para formatar um valor
public static String formataMoeda(float vlr){
NumberFormat nf = NumberFormat.getCurrencyInstance(new Locale ("pt", "BR"));   
String s = nf.format (vlr); // s recebe "R$ 12.345,67"
return s;
}

    public static void main(String[] args){
float valor = (float) 50000.76;
formataMoeda(valor);
System.out.println(valor);


    }

[quote=kelvinoenning]Cara agora eu entendi como ele faz a separacao do centavo… tem que usar o ponto.

Mais nesse meu codigo ele chama ou float e retorna a formatacao em string… como eu faria pra motrar depois em um Jlabel?

[code]
package javaapplication4;

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

/**
*

  • @author Kelvin
    */
    public class JavaApplication4 {

// Método para formatar um valor
public static String formataMoeda(float vlr){
NumberFormat nf = NumberFormat.getCurrencyInstance(new Locale (“pt”, “BR”));
String s = nf.format (vlr); // s recebe “R$ 12.345,67”
return s;
}

public static void main(String[] args){

float valor = (float) 50000.76;
formataMoeda(valor);
System.out.println(valor);

}

[/code][/quote]

Mal pelo double post, fiz bestera ali em cima falando q chama double mais na real e float…

E agora fiz bestera pq enveis de edita eu botei citar… Desculpa ae.

Cara divida o valor por 100.

Exemplo:

1650075 / 100 = 16500.75
100000052 / 100 = 1000000.52

E então faça a formatação com o resultado.