MySQL doğru değil şamandıra

5 Cevap php

Ben MySQL içine bir float olarak ''35444650 .00 giriyorum ve o, 35.444.648,00 için yeniden biçimlendirme herhangi bir yardım karşılama tutar ...

5 Cevap

Sadece hassasiyet belli bir düzeyi, bir float veri türü olabilir nasıl kesin ötesinde edilebilirler yüzer. Yerine KATLA kullanmayı deneyin.

Bir şamandıra hassasiyet 6 basamak vardır. 15 almak ya da sayısal (x, y) geçmek için bir çift kullanın. Eğer ilgileniyorsanız, farklı veri türleri için storage requirements for MySQL check out.

Float daha yüksek bir hassasiyet alternatif DOUBLE. Ama örneğe bakarak, ben DECIMAL veri türü kullanışlı gelebilir düşünüyorum sıfırdan sonra gerekli basamak sayısı (2-4 civarında) küçük ve ondalık önceki hane sayısı 10 civarında (aynı zamanda küçük ise -12).

MySQL manuel FLOAT, REAL, and DOUBLE PRECISION mağazalar değerleri as approximate alanlar ve INTEGER, SMALLINT, DECIMAL, and NUMERIC mağazalar değerleri as exact alanlar iddia ediyor.

Ben bu hassas sorunu aşmak için en iyi bahis ondalık kullanmak olduğunu düşünüyorum.

Referans: http://dev.mysql.com/doc/refman/5.1/en/numeric-types.html

Mümkün hassasiyet seviyesi geçmiş olacak. Sen 10 basamaklı ondalık noktadan sonra beş kadar ile toplam sahip bir şamandıra anlamına geleceğini, daha hassas yani "FLOAT (10,5)" şamandıra tanımlamanız gerekir.