나는 현재 부동 소수점 숫자를 반올림하려고하지만 난 같은 오류 메시지가 얻을 : 플로트 16.666667에 대한 정의되지 않은 방법 round_to을 .. 및 반올림에 대한 내 코드어떤 종류의 데이터 유형을 반올림 할 수 있습니까?
option = [keys[count], (((o.poll_votes.count.to_f)/@general_poll.poll_votes.count.to_f)*100).round_to(1)]
입니다 그리고 무엇 가장 나를 suprises하는 것입니다 나는 여러 곳에서이 코드를 사용했지만 잘 작동하지만 오류가 발생하고있다.
미리 감사드립니다.
도서관에 아무것도 없다는 것을 깨달았습니다.이 원숭이 패치를 어떻게 사용할 수 있는지 자세히 설명해 주시겠습니까? 어쨌든 응답 주셔서 감사합니다. –
Monkey patching은 이미 정의 된 클래스에 메소드를 추가하는 것입니다. 이 코드를 프로젝트에 추가하면 Float가 확장되고 메서드를 사용할 수 있습니다. 나는 패싯 보석을 체크 아웃했고 그들은 round_to와 round_at의 두 가지 방법을 가지고있는 것으로 보인다. round_at는 위에 게시 된 코드를 모방합니다. 혼란을 야기한 경우 미안합니다. –
내 응용 프로그램에서'round_to (5) '와 같이 불필요한 잔여 숫자를 피하기 위해'(self * 10 ** x) .round' 다음에 3 행의'.to_f'를 제거해야했습니다. '경사 = -0.4123800000000001' – Marcos