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.