تعويم غير صحيح في mysql
-
22-09-2019 - |
سؤال
أنا أدخل "35444650.00" كتعويم في MySQL الخاص بي ويستمر في إعادة التنسيق إلى 35444648.00 ، أي مساعدة موضع ترحيب ...
المحلول
العوامات لديها فقط مستوى معين من الدقة ، قد تتجاوز مدى دقة نوع بيانات التعويم. حاول استخدام مزدوج بدلاً من ذلك.
نصائح أخرى
تعويم لديه 6 أرقام من الدقة. استخدم مضاعفة للحصول على 15 أو التبديل إلى الرقم (x ، y). إذا كنت مهتمًا ، تحقق من متطلبات التخزين لـ MySQL لأنواع البيانات المختلفة.
يدعي دليل MySQL ذلك FLOAT, REAL, and DOUBLE PRECISION
الحقول تخزن القيم تقريبي و INTEGER, SMALLINT, DECIMAL, and NUMERIC
الحقول تخزن القيم بنفس الدقة.
أعتقد أن أفضل رهان للتغلب على هذه القضية الدقيقة هو استخدام عشري.
المرجعي: http://dev.mysql.com/doc/refman/5.1/en/numeric-types.html
بديل دقة أعلى للطفو DOUBLE
. لكن بالنظر إلى المثال ، أعتقد DECIMAL
قد يكون نوع البيانات مفيدًا إذا كان عدد الأرقام المطلوبة بعد الصفر صغيرًا (حوالي 2-4) ويكون عدد الأرقام قبل العشرية صغيرة أيضًا (حوالي 10-12).
أنت تتجاوز مستوى الدقة الممكنة. تحتاج إلى تحديد التعويم بأكثر دقة ، أي أن "Float (10،5)" يعني تعويم يمكن أن يكون له 10 أرقام مع ما يصل إلى خمسة بعد النقطة العشرية.