como crio essa mascara??
vl pessoal.
como crio essa mascara??
vl pessoal.
Faz o parse e divide por 100?
ViniGodoy deu uma excelente dica. Caso tenha dúvidas de como implementar, ai esta:
class StringEmReais{
public static void main(String[] args) {
String numero = "2200";
double dinheiro = (Double.parseDouble(numero) / 100); // usando a dica dada pelo ViniGodoy
String mascara = String.format("R$ %,.2f", dinheiro); // Então usamos o String.format para criar nossa mascara
System.out.print(mascara);
}
}
vlw pessoal, vou dar uma olhada
NumberFormat.getCurrencyInstance().format(Number)
esse código já vai te dar formatado de acordo com o locale default.
colocando inclusive o simbolo da moeda.
class StringEmReais{
public static void main(String[] args) {
double convert , numero = 2200;
convert = numero/100;
System.out.printf("R$%.2f\n",convert);
}
}
Assim não é mais fácil não?
System.out.printf(“R$%.2f\n”,convert);
isso ser mais facil que isso:
NumberFormat.getCurrencyInstance().format(Number)
Apenas para ser polemico rs
String teste="2200";
StringBuilder sb = new StringBuilder();
sb.append(teste);
sb.insert(0, 'R');
sb.insert(1, '$');
sb.insert(4, ',');
System.out.println(sb);
Abs!
Agora falando serio, eu faria o que o ViniGodoy e kleberdamasco disseram, mas apenas me certificando o padrão do Locale:
Locale ptBR = new Locale("pt", "BR");
NumberFormat moedaFormat = NumberFormat.getCurrencyInstance(ptBR);
System.out.println(moedaFormat.format(seuNumero));
Abs!
kkkkkkkkkkkkk… além de aprender eu me divirto muito aqui…galera viu quanta soluç~~ao pro mesmo problema…ai está basta escolher uma
Eu prefiro este caminho, usando BigDecimal e BigInteger:
package br.com.guj;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.NumberFormat;
public class CurrencyTest {
public static void main(String[] args) {
BigDecimal bd = new BigDecimal(new BigInteger("2200"), 2);
System.out.println(bd);
String formattedValue = NumberFormat.getCurrencyInstance().format(bd);
System.out.println(formattedValue);
}
}
Já observei erros "toscos" em aplicações por utilizar a primitiva double para valores monerários cuja melhor solução foi a substituição por BigDecimal.
Se não houver questões de internacionalização e não ocorrendo outras operações que envolvam valores monetários, sim, é mais simples.class StringEmReais{ public static void main(String[] args) { double convert , numero = 2200; convert = numero/100; System.out.printf("R$%.2f\n",convert); } }
Assim não é mais fácil não?