Myślę, że istnieje metoda w rubinach lub szynach, która to robi, ale nie pamiętam, gdzie ją znaleźć lub jak ją wyszukać, więc miałem nadzieję, że zbiorowa mądrość stackoverflow może Wsparcie. Nie mam nic przeciwko napisaniu metody, aby to zrobić, ale jestem pewien, że ktoś ma lepsze rozwiązanie.Konwersja 1200 do 1.2K w rubinach/szynach
11
A
Odpowiedz
29
number_to_human(1200, :format => '%n%u', :units => { :thousand => 'K' })
# 1200 => 1.2K
4
Spójrz na Rails Number Helper, metoda number_to_human_size może być tym, czego potrzebujesz.
5
Jeśli numer bywa 1223
przyjętą wyjście odpowiedź byłaby 1.22K
zawierać parametr precision
aby zmniejszyć to 1.2K
. Ponadto, jeśli liczba ta może być szeroki zakres liczb w milionach i miliardach, a następnie najlepiej zaspokoić te również:
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"
Powiązane problemy
- 1. problemów auto vectorize powodem „1200”
- 2. Czym dokładnie jest strona kodowa Unicode 1200?
- 3. Konwersja Datetime zbieracz do czasu UTC
- 4. AudioHardware.cpp: 1200: AudioObjectRemovePropertyListener: AudioObjectRemovePropertyListener: żaden obiekt o podanym ID 0
- 5. Konwersja ramki danych do miesięcznych szeregów czasowych
- 6. Konwersja String do węgla
- 7. Konwersja UIViewController do UIScrollViewController
- 8. Konwersja netcdf do GRIB2
- 9. Konwersja System.Drawing.Image do System.Windows.Controls.Image?
- 10. Konwersja Gtk do html
- 11. Konwersja PDF do UIImage
- 12. Konwersja int do CGFloat
- 13. Konwersja NodeList do tablicy
- 14. Konwersja XSD do Protos
- 15. Konwersja ifstream do istream
- 16. Konwersja podobieństwa do IEnumerable
- 17. data Konwersja do XMLGregorianCalendar
- 18. Konwersja org.w3c.dom.Node do dokumentu
- 19. Konwersja do namedtuple
- 20. Konwersja FBX do Three.js
- 21. Konwersja obietnicy do zaobserwowania
- 22. Konwersja PrintStream do PrintWriter
- 23. Konwersja & do & etc
- 24. Konwersja blob do base64
- 25. Konwersja do potwierdzenia Bootbox
- 26. Konwersja do programu ScheduledThreadPoolExecutor
- 27. Niejawna konwersja do szablonu
- 28. Konwersja Fortran90 do C#
- 29. Niepotrzebna konwersja do biginta
- 30. Konwersja HashBytes do VarChar
Nie znam żadnej funkcji rubinowe, które uczynią ten rodzaj konwersji. Prawdopodobnie lepiej byłoby napisać własną funkcję, aby zrobić to za Ciebie. Nie zapomnij sprawdzić swoich warunków brzegowych! – ean5533