Có thể bạn sẽ muốn sử dụng phương thức number_to_percentage
. Dưới đây là một số ví dụ về cách sử dụng nó.
number_to_percentage(100) # => 100.000%
number_to_percentage("98") # => 98.000%
number_to_percentage(100, precision: 0) # => 100%
number_to_percentage(1000, delimiter: '.', separator: ',') # => 1.000,000%
number_to_percentage(302.24398923423, precision: 5) # => 302.24399%
number_to_percentage(1000, locale: :fr) # => 1 000,000%
number_to_percentage("98a") # => 98a%
number_to_percentage(100, format: "%n %") # => 100 %
Options:
:locale - Sets the locale to be used for formatting (defaults to current locale).
:precision - Sets the precision of the number (defaults to 3).
:significant - If true, precision will be the # of significant_digits. If false, the # of fractional digits (defaults to false).
:separator - Sets the separator between the fractional and integer digits (defaults to “.”).
:delimiter - Sets the thousands delimiter (defaults to “”).
:strip_insignificant_zeros - If true removes insignificant zeros after the decimal separator (defaults to false).
:format - Specifies the format of the percentage string The number field is %n (defaults to “%n%”).
Hoặc bạn có thể viết một số ruby như sau:
class Numeric
def percent_of(n)
self.to_f/n.to_f * 100.0
end
end
p (1).percent_of(10) # => 10.0 (%)
p (200).percent_of(100) # => 200.0 (%)
p (0.5).percent_of(20) # => 2.5 (%)
Tôi chỉ tò mò, nếu bạn đang đi để sao chép và dán tất cả mọi thứ từ các tài liệu hướng đường ray tại sao không chỉ cung cấp một liên kết đến nó? hoặc là cách ưa thích này để trả lời các câu hỏi trên Stackoverflow? – Alireza
@Ali Thực ra, đây là cách tốt nhất để làm điều này. Trong khi câu trả lời này thực sự nên thuộc tính tài liệu Rails với một liên kết, cung cấp chỉ đơn thuần là một liên kết không phải là thực hành tốt nhất cho StackOverflow. Liên kết có thể bị hỏng theo thời gian hoặc tài liệu có thể thay đổi khiến câu trả lời ít hữu ích hơn. Vì vậy, có, nó sẽ được tốt đẹp nếu có một liên kết được cung cấp nhưng câu trả lời này là tốt hơn so với chỉ là một liên kết đến tài liệu hướng dẫn. –
Đối với người lười biếng, bạn sẽ cần 'include ActionView :: Helpers :: NumberHelper' – Warpling