Probabilmente si vorrà utilizzare il metodo number_to_percentage
. Ecco alcuni esempi su come usarlo.
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 %
Opzioni:
: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%”).
Oppure si può scrivere qualche rubino come il seguente:
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 (%)
Io sono solo curioso, se avete intenzione di copiare e incollare tutto dalla documentazione rotaie perché non solo fornire un link ad esso? o è questo il modo preferito di rispondere alle domande su Stackoverflow? – Alireza
@Ali In realtà, questo è principalmente il modo migliore per farlo. Considerando che questa risposta in realtà dovrebbe attribuire la documentazione di Rails con un link, fornendo semplicemente un collegamento non è la migliore pratica per StackOverflow. Il collegamento potrebbe rompersi con il tempo o la documentazione potrebbe cambiare rendendo la risposta meno utile. Quindi, sì, sarebbe bello se ci fosse un link fornito, ma questa risposta è migliore di un semplice link alla documentazione. –
Per i più pigri, è necessario 'includere ActionView :: Helpers :: NumberHelper' – Warpling