Ruby에서 Windows에서 단일 정밀도로 숫자를 예상하는 COM 구성 요소를 사용하려고합니다.Ruby 단 정밀도 숫자
C#에서는 이처럼 두 배에서 단 정밀도로 숫자를 캐스팅 할 수 있습니다.
float mynumber = (float)2.0
어떻게 Ruby에서 단 정밀도 부동 소수점 숫자를 만들 수 있습니까?
Ruby에서 Windows에서 단일 정밀도로 숫자를 예상하는 COM 구성 요소를 사용하려고합니다.Ruby 단 정밀도 숫자
C#에서는 이처럼 두 배에서 단 정밀도로 숫자를 캐스팅 할 수 있습니다.
float mynumber = (float)2.0
어떻게 Ruby에서 단 정밀도 부동 소수점 숫자를 만들 수 있습니까?
루비에는 부동 소수점 클래스가 하나만 있으며 배정 밀도입니다. 나는 COM에서 루비로 작업하지는 않았지만, 인터페이스가 루비 플로트를 필요한 타입으로 자동 변환 할 것으로 기대한다. 보통 루비 플로트를 그냥 통과 시키려고 했습니까? 무슨 일이야? 문제를 보여주는 몇 가지 예제 코드를 게시 할 수 있습니까?
편집 1 :
당신은 내부의 단일 정밀도 부동 소수점이있는 바이너리 문자열로 루비 플로트를 변환 팩 방법을 사용할 수 있습니다 :
http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-pack
시도 :
을[2.0].pack "f"
루비 자체는 단 정밀도 부동을 지원하지 않습니다.
다른 float 형식으로 계산/변환을 수행하는 경우 보석 float-formats을 사용할 수 있습니다.
하지만이 보석으로 만든 개체를 COM 개체에 건네기 위해서는 어떻게 든 예상되는 메모리 표현으로 변환해야합니다.
숫자를 COM 구성 요소에 전달하는 방법은 무엇입니까? Ruby에서 모든 float은 배정 밀도로 저장됩니다. –