Delen via


MOF-code compileren met Floating-Point-waarden

De MOF-compiler accepteert een drijvende-komma-getalwaarde zoals gespecificeerd voor een niet-drijvende-komma-eigenschap. De waarde wordt naar boven of naar beneden afgerond en opgeslagen als een niet-zwevend puntnummer. Deze situatie kan onverwachte resultaten veroorzaken.

In het volgende MOF-codevoorbeeld wordt een klasse gedefinieerd met de naam abc in een naamruimte met de naam Test. Deze MOF-code compileert zonder fouten, maar u kunt geen query's uitvoeren op de drijvende-kommawaarde die is gedefinieerd voor de eigenschap exampleUint16 in het exemplaar dat deze code maakt.

#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;
};

Als u de volgende query uitvoert, krijgt u een foutcode die een ongeldige query aangeeft.

SELECT * FROM abc WHERE exampleUint16 = 1000.4

Met de volgende query wordt echter het aangegeven exemplaar gevonden.

SELECT * FROM abc WHERE exampleUint16 = 1000

MOF-bestanden compileren

mofcomp

preprocessoropdrachten