Blackhacker نشر 17 مارس 2016 أرسل تقرير نشر 17 مارس 2016 أحتاج إلى طريقة لصياغة الأرقام الكبيرة مثل 1000 لتصبح 1 000، وذلك تسهيل قراءتها، فهل توجد طريقة لفعل ذلك في روبي؟ اقتباس
0 هشام رزق الله نشر 17 مارس 2016 أرسل تقرير نشر 17 مارس 2016 نعم توجد عدة طرق، لكن لا توجد أية تابع أو دالة مدمجة في روبي لفعل ذلك (إلا إذا استخدمت ريلز، فمكتبة ActiveSupport لديها توابع لفعل ذلك)، لذلك ستضطر إلى استخدام التعابير النمطية كما في المثال التالي: form_n = n.to_s.reverse.gsub(/...(?=.)/,'\&,').reverse أو يمكنك استخدام هذا التعبير النمطي إذا كنت تستخدم Activesupport: 10000000.to_s.gsub(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1 ") كما يمكنك استخدام هذه الطريقة والتي تتميز بأنها أسهل للقراءة من الطرق السابقة: number.to_s.reverse.scan(/\d{1,3}/).join(",").reverse number #=> 98765 .to_s #=> "98765" .reverse #=> "56789" .scan(/\d{1,3}/) #=> ["567","89"] .join(",") #=> "567,89" .reverse #=> "98,765" اقتباس
السؤال
Blackhacker
أحتاج إلى طريقة لصياغة الأرقام الكبيرة مثل 1000 لتصبح 1 000، وذلك تسهيل قراءتها، فهل توجد طريقة لفعل ذلك في روبي؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.