또한 "NaN".to_f는 NaN 대신 0을 반환합니다.Ruby에서 NaN (숫자가 아님)을 어떻게 선언합니까?
37
A
답변
2
0.0/0.0
루비 1.8.6에서 작동합니다.
0.0/0.0
을 사용하는 것입니다
def aNaN
s, e, m = rand(2), 2047, rand(2**52-1)+1
[sprintf("%1b%011b%052b", s,e,m)].pack("B*").unpack("G").first
end
17
:
페스토에 링크 스레드 부동 소수점 숫자는 IEEE 754에 따라 구현되는 경우 플랫폼에서 작동해야이 기능을 가지고 있습니다. "NaN".to_f가 작동하지 않으며 이유에 대한 설명이 in this thread입니다. 당신이 숫자가 NaN 인 경우 테스트해야하는 경우
+4
'0/0.0'도 작동합니다 .. (PS.IISISANANE!) –
30
, 당신은 그것을 #nan?
를 사용할 수 있습니다
ruby-1.8.7-p352 :008 > (0/0.0).nan? #=> true
ruby-1.8.7-p352 :009 > (0/1.0).nan? #=> false
45
0
변수를 레일에 할당하면 다음과 같이 수행 할 수 있습니다 (단위 테스트에 유용함) :
o.amount = BigDecimal.new('NaN')
expect(o.valid?).to be false
관련 문제
- 1. 이 함수는 어떻게 선언합니까?
- 2. 할당자를 어떻게 선언합니까?
- 3. NaN 부동 소수점 숫자가 생성 될 때 디버거 중지
- 4. C에서 문자열 상수를 어떻게 선언합니까?
- 5. 익명 스레드에서 예외를 어떻게 선언합니까?
- 6. IDL에 클래스 생성자를 어떻게 선언합니까?
- 7. 어떻게 C++ 헤더에 배열을 선언합니까?
- 8. 외부 char 포인터를 어떻게 선언합니까?
- 9. VBA/VB6에서 NaN 테스트
- 10. 객체가 유형이 아님을 테스트합니다.
- 11. 숫자가
- 12. specman에 고정 길이 목록을 어떻게 선언합니까?
- 13. 사용자가 차원을 지정할 수있는 배열을 어떻게 선언합니까?
- 14. "기타"대신 "가시성"범주에서 DependencyProperty를 어떻게 선언합니까?
- 15. Cucumber-Capybara로 플래시 변수가없는 것을 어떻게 선언합니까?
- 16. .h 파일에서 index = 0을 어떻게 선언합니까? iPhone
- 17. C# 변수를 HTML 형식 변수로 어떻게 선언합니까?
- 18. C++에서는 바이너리 세마포를 어떻게 선언합니까?
- 19. 배열에 대한 포인터에 대한 포인터를 어떻게 선언합니까?
- 20. SBT에서 jboss에 대한 의존성을 어떻게 선언합니까?
- 21. PHP에서는 메소드를 공개하지만 비 정적으로 어떻게 선언합니까?
- 22. 숫자가 무한대로 평가되는지 어떻게 확인합니까?
- 23. Java 인쇄의 거리 수식 NaN - 어떻게 수정합니까?
- 24. json에서 NaN 보내기
- 25. NaN 또는 infs에서 중단
- 26. 자바 스크립트가 null이 아님을 확인하십시오.
- 27. 이 코드가 유형을 선언합니까?
- 28. UIView 프레임이 잘못 설정되어보기에 {nan, nan} 원점이 있습니다.
- 29. UITableViewCell 프레임의 NaN 값이
- 30. Canvas.GetTop() NaN 반환
ZeroDivisionE rror : 0으로 나누기 –
사용중인 Ruby 버전은 무엇입니까? –
참고 : 0/0은 ZeroDivisionError를 제공하지만 0.0/0.0은 제공하지 않습니다. – Kudu