2013-01-29 2 views
1

application.helper에서이 작업을 수행하려고했습니다.
그러나 항상 0입니다. 왜?Rails/Ruby에서 백분율을 어떻게 평가할 수 있습니까?

내가 원하는 것 37 % 49 % 98 %
항상 정수입니다. 더 플로트

def evaluate(number_of_people) 
    percentage = ((number_of_people/10000) * 100).truncate 
    "<div class='percentage'>Percentage is #{percentage}%</div>".html_safe 
end 

답변

4

당신은 정수로 나눈 것, 그래서 10,000분의 3,000의 결과가 아니라 소수 aritmatic을 강제로 10000.0에 의해 0

분할 될 것입니다.

그래서이를 변경 :

percentage = ((number_of_people/10000) * 100).truncate 

을이 사람 :

당신의 분모 (이 경우 10000 값) 이전에 부동로 캐스팅 to_f 사용할 수있는 변수입니다
percentage = ((number_of_people/10000.0) * 100).to_i 

경우 나누기.

+0

3000/10000은 0.3이되어야합니다. ( – MKK

+0

그러나 0.3은 정수입니다. 정수로 나누면 결과는 정수가됩니다. –

+0

어떻게하면 75 %를 쉽게 얻을 수 있습니까? – MKK

관련 문제