루비에서는 printf
을 사용하여 소수점 이하의 특정 자리수로 인쇄 할 숫자를 포맷 할 수 있다는 것을 알고 있습니다. 1.2 -> 1.20 등 내가 알고 싶은 것은 어떻게 나중에 변수를 사용할 수 있도록 변수에 소수점 이하의 숫자를 할당 할 수 있는지입니다. 계산에서 더 정확한 숫자를 사용해야하고 어떻게하는지 설명하는 곳을 찾을 수 없습니다. 나는이 대답을 보았습니다 here 레일의 특정 버전에 대한 것 같습니다, 그리고 혼자 루비를 사용하고 있습니다. number_to_precision
으로 약간 놀아 봤지만 Ruby에 익숙하지 않고 구현 방법을 여전히 이해하지 못했습니다. 이것을 할 수 있습니까?변수에 특정 소수점 이하의 숫자 저장하기
1
A
답변
2
메서드 number_with_precision
은보기 전용 도우미 메서드이며 숫자의 문자열 버전을 반환합니다. 그것은 당신이 찾고있는 경우 지정된 정밀도로 숫자를 반환하지 않습니다. 좋은 소식은 number_with_precision
이 정확히 무엇인지 알고 싶다면 sprintf
을 사용할 수 있습니다.
sprintf('%.2f', 3.1415926) # result: "3.14"
sprintf
는 printf
이하는 것처럼 stdout에 인쇄하는 대신, 당신이 저장할 수있는 값을 반환합니다. 그래서 당신은 쉽게 캡처 할 수 있습니다 :
number = sprintf('%.2f', 3.1415926)
당신이 숫자로 취급하고 싶었다면, 당신은 아마 당신을 위해이 작업을 수행하고 필요로하고 플로트에서 변환하는 클래스를 만들 수있다.
1
루비에서 임의의 부동 소수점 정밀도 숫자를 얻으려면 BigDecimal 개체를 사용하여 계산을 수행하십시오.
이 클래스는 필요에 따라 도트 뒤에 숫자를 사용하며 10 진수를 2 진수로 변환하여 반올림 오류가 발생하지 않도록합니다.
관련 문제
- 1. 소수점 이하의 숫자 인쇄
- 2. 소수점 이하의 값을 얻으십시오.
- 3. 특정 숫자 이하의 값을 제거하는 방법은 무엇입니까?
- 4. 소수점 이하의 정밀도를 가지는 struct.unpack
- 5. SSRS에서 소수점 이하의 가변 개수로 반올림
- 6. 소수점 이하의 숫자를 건너 뛰는 cout
- 7. FORTRAN의 PRINT 문에서 소수점 이하의 특정 자릿수를 인쇄하십시오.
- 8. 변수에 람다 식 저장하기
- 9. 소수점 이하의 POSIX 변수의 성능이 R
- 10. 변수에 .css() 메소드 저장하기
- 11. 요소 색인을 변수에 저장하기
- 12. 크리스탈 리포트에서 소수점 이하의 유효 숫자를 표시합니다. 2008
- 13. 소수점 이하 반올림 숫자
- 14. C의 부동 소수점 숫자
- 15. Java 프로그래밍, 소수점 숫자
- 16. XML의 부동 소수점 숫자
- 17. 부동 소수점 숫자 읽기
- 18. IEEE 부동 소수점 숫자
- 19. 비교 부동 소수점 숫자
- 20. 새로운 부동 소수점 숫자
- 21. 부동 소수점 숫자 - 잘못된 출력
- 22. 사전 plist의 부동 소수점 숫자
- 23. 사용자 입력이 소수점 이하 2 자리 이하의 소수점 일 경우 어떻게 테스트 할 수 있습니까?
- 24. Actionscript의 부동 소수점 숫자 표현?
- 25. 소수점 이하의 숫자가 0이면 double 값으로 반환하지 않습니까?
- 26. PHP 세션 변수에 XML 저장하기
- 27. jQuery 변수에 CSS 배경색 저장하기
- 28. 텍스트에 부동 소수점 숫자 표시
- 29. 인텔 : 부동 소수점 숫자 계산
- 30. $ 콘솔의 부동 소수점 숫자 표시
_more 정확한 숫자로 무엇을 의미합니까? –
제 질문에 명시된 바와 같이 1.2와 같은 값을 반환하는 대신 1.20, 1.21 등과 같이 더 구체적인 것을 필요로합니다. – Luminusss
'1.2'는'1.20'보다 정확하지 않습니다. 둘 다 같은 값입니다. . 당신이 필요로하는 것이 정밀도인지 또는 특정 자리수를 갖기 위해 숫자가 필요합니까? –