부동 소수점 값을 사용하여 MOF 코드 컴파일
MOF 컴파일러는 비부동 소수점 속성에 지정된 부동 소수점 값을 허용합니다. 값은 올림 또는 버림 처리된 후 비부동 소수점 숫자로 저장됩니다. 이 상황은 예기치 않은 결과를 유발할 수 있습니다.
다음 MOF 코드 예제에서는 "Test"라는 네임스페이스에서 abc 라는 클래스를 정의합니다. 이 MOF 코드는 오류 없이 컴파일하지만, 이 코드가 만드는 인스턴스에 있는 속성 exampleUint16에 대해 정의된 부동 소수점 값은 쿼리할 수는 없습니다.
#pragma namespace ("\\\\.\\Root")
instance of __Namespace
{
Name = "Test";
};
#pragma namespace ("\\\\.\\Root\\test")
Class abc
{
[KEY] String testID ;
Uint16 exampleUint16;
Real64 exampleReal64;
};
Instance of abc
{
TestID ="exampleID";
exampleUint16 = 1000.4;
};
다음 쿼리를 실행하면 잘못된 쿼리를 나타내는 오류 코드가 표시됩니다.
SELECT * FROM abc WHERE exampleUint16 = 1000.4
그러나 다음 쿼리는 표시된 인스턴스를 찾습니다.
SELECT * FROM abc WHERE exampleUint16 = 1000
관련 항목