Amigos que tipo de campo eu posso utilizar no MySQL para que um valor
fique 1.121.212,74
ja tentei:
Real
Float
NUmeric
Bem, tenho poko conhecimento em Java e em MySQL mas…
1 - Já que vc esta trabalhando com o caracter “.” e “,” utilizar o formato referente a texto no MySQL (esqueci o nome!).
2 - Utilizar qq formato para numeros e criar logica para inserir o “.” e a “,”.
flww
Use Float e aplique a formatação que você quiser na sua aplicação. O banco guarda dados puro, formatação do dado é na aplicação, mais precisamente na camada de apresentação.
[]'s
Rodrigo Auler
cara nao te entendi… tem como me explicar melhor?
O MySql sempre vai guardar 1121212.74.
Se você quiser mostrar 1.121.212,74 na sua aplicação, vai ter que aplicar uma formatação. Uma opção pra formatar números é usando a classe NumberFormat
[]'s
Rodrigo Auler
agora entendi valeu!!!
Cara, faça como o amigo disse: Armazene como float e na hora de exibir o valor na aplicação utilize a classe de formatação de números. Exemplo:
NumberFormat nf = NumberFormat.getInstance();
.
.
.
this.JTextField1.setText(String.valueOf(nf.format(rs.getDouble(8)))); //aqui formato o nro que vem do banco.
Não se esqueça de usar o import para a classe NumberFormat:
import java.text.NumberFormat;
Espero ter ajudado.
Té mais.
Ola cara
Estando no Mysql o campo Tipo DECIMAL 12,2.
1 - Esta classe de Luiz Cavalcanti, Formata seu Valor. Sabendo que a aplicação é quem formata este valor.
-------------------- classe Moeda---------------------------------------
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import java.util.Locale;
public final class Moeda {
private static final DecimalFormatSymbols REAL = new DecimalFormatSymbols(BRAZIL);
/**
* Mascara de dinheiro para Real Brasileiro
/
public static final DecimalFormat DINHEIRO_REAL = new DecimalFormat(“¤ ###,###,##0.00”,REAL);
/*
* Mascara de decinal
*/
public static final DecimalFormat DECIMAL = new DecimalFormat("###,###,##0.00",REAL);
public static String mascaraDinheiro(double valor, DecimalFormat moeda){
return moeda.format(valor);
}
}
---------------- classe para chamar Moeda --------------------
float VALOR = 10000.23; // estar assim no MySql
Moeda tp = new Moeda();
String Formato1 = tp.mascaraDinheiro(VALOR, Moeda.DECIMAL);
String Formato2 = tp.mascaraDinheiro(VALOR, Moeda.DINHEIRO_REAL);
String Formato3 = tp.mascaraDinheiro(VALOR, Moeda.REAL);
// a resposta formata estao em Formato1, Formato2 ou Formato3
// Formato3 fica 10.000,23
Espero ter ajudado
Eu uso esta classe a muito tempo.
Lindberg
Faça o seguinte amigo:
SELECT REPLACE(REPLACE(REPLACE(FORMAT( valor,2), ‘.’, ‘|’), ‘,’, ‘.’), ‘|’, ‘,’) as ‘valor’
Não é elegante, mas resolve o problema
[quote=febeckers]Amigos que tipo de campo eu posso utilizar no MySQL para que um valor
fique 1.121.212,74
ja tentei:
Real
Float
NUmeric[/quote]