"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني اقتطاع تعويم إلى عدد محدد من الأماكن العشرية دون التقريب؟

كيف يمكنني اقتطاع تعويم إلى عدد محدد من الأماكن العشرية دون التقريب؟

نشر في 2025-02-06
تصفح:935

How Do I Truncate a Float to a Specific Number of Decimal Places Without Rounding?

كيفية إزالة الأرقام من تعويم هذه الخطوات:

التنفيذ (Python 2.7 و 3.1):

"" "اقتطاع/وسادات تعويم إلى الأماكن العشرية دون التقريب" "" s = '{}'. التنسيق (f) إذا كانت 'e' في s أو 'e' في s: إرجاع '{0:. {1} f}'. format (f ، n) i ، p ، d = s.partition ('.') إرجاع '.'. Def Truncate (F ، N): "" "اقتطاع/وسادات تعويم إلى الأماكن العشرية دون التقريب" "" s = '٪ .12f' ٪ f i ، p ، d = s.partition ('.') إرجاع '.'. تحويل إلى سلسلة: قم بتحويل العوام إلى سلسلة بدقة كاملة باستخدام '{}'.

def truncate(f, n):
    """Truncates/pads a float f to n decimal places without rounding"""
    s = '{}'.format(f)
    if 'e' in s or 'E' in s:
        return '{0:.{1}f}'.format(f, n)
    i, p, d = s.partition('.')
    return '.'.join([i, (d '0'*n)[:n]])

نفسها (P) ، وبعد النقطة العشرية (D). من N decimal الأماكن.

def truncate(f, n):
    """Truncates/pads a float f to n decimal places without rounding"""
    s = '%.12f' % f
    i, p, d = s.partition('.')
    return '.'.join([i, (d '0'*n)[:n]])

. نفس القيمة الثنائية على الرغم من أنها تبدو مختلفة في الكود ، مما يؤدي إلى تباينات محتملة في الاقتطاع.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3