Decimal format

5 respostas
K

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.

5 Respostas

lelodois

O que vc está usando?

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

K

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);


    }
K
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?

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);


    }
K

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.

leonardom

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.

Criado 12 de agosto de 2011
Ultima resposta 12 de ago. de 2011
Respostas 5
Participantes 3