سؤال

أنا أدخل "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 أرقام مع ما يصل إلى خمسة بعد النقطة العشرية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top