Ir para conteúdo
Fórum Script Brasil
  • 0

mysql - float sendo arredondado


hippy

Pergunta

Senhores bom dia,

Estou utilizando a seguinte query:

INSERT INTO icotacao (id_indice, data, abertura, fechamento, minima, maxima)

VALUES(1,'20071228', '63797.33', '63886.713', '63598.17', '64123.950')

os campos são integer, date, float, float, float, float.

mas no banco MYSQL os números são armazenados assim:

(1, 28/12/2007, 63797.3, 63886.7, 63598.2, 64123.9)

Alguma ajuda?

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Olha o que eu fiz:

INSERT INTO icotacao (id_indice, data, abertura, fechamento, minima, maxima) VALUES(1,20071227, 324.84, 74.38, 6233589.81, 64583.78)

e o que foi armazenado foi:

1,27/12/2007, 324.84, 74.38, 6233590, 64583.78

agora, porque os números grandes perdem os seus decimais e são arredondados e os pequenos não?

Link para o comentário
Compartilhar em outros sites

  • 0
Pior que não está, ele está configurado para default (-1).

Tentei alterar para 3 casas decimais, e mesmo assim ele arredonda. Estranho né?

Default -1? Não sei do que você está falando... :/

Mas da uma olhada no Manual do MySQL:

FLOAT[(M,D)][uNSIGNED] [ZEROFILL]

Um número de ponto flutuante pequeno (precisão simples). Os valores permitidos estão entre -3.402823466E+38 e -1.175494351E-38, 0 e entre 1.175494351E-38 e 3.402823466E+38. Se UNSIGNED for especificado, valores negativos não são permitidos O M é a largura do display e o D é o número de casas decimais. FLOAT sem um argumento ou FLOAT(X) onde X <=24 tende a um número de ponto flutuante de precisão simples.

Editado por Andréa Carvalho
Link para o comentário
Compartilhar em outros sites

  • 0
Pior que não está, ele está configurado para default (-1).

Tentei alterar para 3 casas decimais, e mesmo assim ele arredonda. Estranho né?

Default -1? Não sei do que você está falando... :/

Mas da uma olhada no Manual do MySQL:

FLOAT[(M,D)][uNSIGNED] [ZEROFILL]

Um número de ponto flutuante pequeno (precisão simples). Os valores permitidos estão entre -3.402823466E+38 e -1.175494351E-38, 0 e entre 1.175494351E-38 e 3.402823466E+38. Se UNSIGNED for especificado, valores negativos não são permitidos O M é a largura do display e o D é o número de casas decimais. FLOAT sem um argumento ou FLOAT(X) onde X <=24 tende a um número de ponto flutuante de precisão simples.

Andréa Carvalho,

ahahah primeiro queria dizer que meu nome é André Carvalho hahahaha sério mesmo...

Bem, obrigado por ajudar, pois quando eu criei os campos float eu não coloquei (M,D), e assim eu acredito que ele controla automático, daí não apareciam os decimais.

Acabei refazendo a tabela e agora sim, ficou tudo certo.

Obrigado minha quase sósia.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...