Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Numeri millesimali >16383.999

    Saute a tutti,
    credo di aver riscontrato quello che si direbbe un bug del MySQL: in un campo formattato FLOAT non riesco ad inserire numeri con millesimale pari, per numeri maggiori di 16383 e con millesimali fra .001 e .019; anzi, inserendone uno dispari, il valore viene corretto al pari successivo.

    Es.:
    SET field=16384.001 dà come risultato 16384.002
    SET field=16384.019 dà come risultato 16384.020
    SET field=19000.001 dà come risultato 19000.002
    maz
    SET field=16383.001 dà come risultato 16383.001

    Di conseguenza, dovrei pezzottare la formattazione da FLOAT a VARCHAR per ottenere un risultato... pezzotto. Ma poiché il campo in questione non è uno ma due (i quali costituiscono valori di un range field_da e field_a), occorrerebbe che fossero numerici.

    C'è soluzione pulita?

  2. #2
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Non è un bug e la soluzione più pulita è cambiare il tipo di campo in Decimal o Real
    http://dev.mysql.com/doc/refman/5.0/...ric-types.html

  3. #3
    Trovato il busillis:

    A precision from 0 to 23 results in a four-byte single-precision FLOAT column. A precision from 24 to 53 results in an eight-byte double-precision DOUBLE column.
    http://dev.mysql.com/doc/refman/5.0/...ric-types.html

  4. #4
    Originariamente inviato da Enoa
    Non è un bug e la soluzione più pulita è cambiare il tipo di campo in Decimal o Real
    http://dev.mysql.com/doc/refman/5.0/...ric-types.html
    Grazie, mi hai preceduto di un soffio...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.