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
Verwante onderwerpen