2011-07-21 7 views
11

मुझे लगता है कि रूबी या रेल के भीतर कोई विधि है जो मुझे यह याद नहीं है कि मुझे यह कहां मिलना है या इसे कैसे खोजा जाए, इसलिए मुझे उम्मीद थी कि स्टैक ओवरफ्लो का सामूहिक ज्ञान हो सकता है मदद। मुझे ऐसा करने के लिए एक विधि लिखने पर कोई फर्क नहीं पड़ता, लेकिन मुझे यकीन है कि किसी के पास बेहतर समाधान होगा।रूबी/रेल में 1200 से 1.2K कनवर्ट करें

+0

मैं किसी भी माणिक कार्यों कि रूपांतरण की इस प्रकार की कर देगा का पता नहीं है। आप अपने लिए यह करने के लिए अपने स्वयं के कार्य लिखने से शायद बेहतर हो सकते हैं। अपनी सीमा की स्थिति की जांच करना न भूलें! – ean5533

उत्तर

29
number_to_human(1200, :format => '%n%u', :units => { :thousand => 'K' }) 

# 1200 => 1.2K 
4

Rails Number Helper पर एक नज़र डालें, विधि संख्या_to_human_size आपको जो चाहिए वह हो सकता है।

5

अपना नंबर 1223 स्वीकार किए जाते हैं जवाब उत्पादन 1.22K होगा होने के लिए होता है, precision1.2K को यह कम करने के लिए पैरामीटर शामिल हैं। इसके अलावा, तो सबसे अच्छा ये भी के लिए पूरा करने के लिए करता है, तो आपका नंबर, लाखों और अरबों में संख्या की एक विस्तृत श्रृंखला हो सकता है:

number_to_human(1200, :format => '%n%u', :precision => 2, :units => { :thousand => 'K', :million => 'M', :billion => 'B' }) 
# => "1.2K" 

number_to_human(1223, :format => '%n%u', :precision => 2, :units => { :thousand => 'K', :million => 'M', :billion => 'B' }) 
# => "1.2K" 

number_to_human(1223456789, :format => '%n%u', :precision => 2, :units => { :thousand => 'K', :million => 'M', :billion => 'B' }) 
# => "1.2B" 
संबंधित मुद्दे