اذهب إلى المحتوى
  • 0

كيفية طباعة الأرقام مع علامة فاصلة comma في بايثون؟

Fahmy Mostafa

السؤال

أريد أن أقوم بطباعة الأرقام الكبيرة (أكبر من 999) بعلامة الفاصلة comma بين كل ثلاثة أرقام، على سبيل المثال الرقم 123456789 يصبح 123,456,789 مع العلم أن هذه أرقام وليست نصوص، حاولت تحويل الأرقام إلى نصوص ثم تقسيم هذا النص إلى أجزاء وإعادة دمجها ولكن أعتقد أن هناك طريقة أسهل وأسرع للقيام بهذا الأمر

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 2

يمكنك القيام بذلك من خلال التابع format في المكتبة locale كالتالي:

import locale
locale.format("%d", 123456789 , grouping=True)# '123,456,789'

أو باستخدام التعابير المنطقية من مكتبة regex:

import re
re.sub("(\d)(?=(\d{3})+(?!\d))", r"\1,", "%d" % 123456789) # '123,456,789'

أوكما أشار الأستاذ سمير في إجابته:

x=123456789
'{:0,.2f}'.format(x) # '123,456,789.00'

يمكنك أيضاً القيام بذلك بشكل يدوي  من خلال التابع التالي:

def sp(x):
    l = []
    g = '%d' % x
    while g and g[-1].isdigit():
        l.append(g[-3:])
        g = g[:-3]
    return g + ','.join(reversed(l))
sp(123456789) # '123,456,789'

 

تم التعديل في بواسطة Ali Haidar Ahmad
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

إبتداءا  من الإصدار 2.7 يمكنك إستعمال الدالة format  بالشكل التالي:

my_number = 12678940

my_string = '{:0,.2f}'.format(my_number)

# النتيجة :
# 12,678,940  

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

بالطبع يمكنك استخدام

 '{:,}'.format(n)

كما في التعليقات السابقة ولكن هناك صيغة أخرى لدالة format وهي كالتالي

value = 1000000
print (format (value, ',d')) 
# كالتالي  f ب d  استبدل ال  float إذا كان الرقم   

value = 1000000.30
print (format (value, ',2f')) #2f  رقمين فقط بعد العلامة  

يمكنك القراءة أكثر عن الدالة format من موسوعة حسوب

تم التعديل في بواسطة عبدالباسط ابراهيم
إضافة بعض المعلومات
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...