Como trabalhar com moedas(real) com MYSQL?

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]