Compilation de code MOF avec des valeurs à virgule flottante
Le compilateur MOF accepte une valeur à virgule flottante spécifiée pour une propriété à virgule non flottante. La valeur est arrondie à l'unité supérieure ou inférieure et stockée sous la forme d'un nombre à virgule non flottante. Cette situation peut entraîner des résultats inattendus.
L’exemple de code MOF suivant définit une classe appelée abc dans un espace de noms appelé « Test ». Ce code MOF se compile sans erreurs, mais vous ne pouvez pas interroger la valeur à virgule flottante définie pour la propriété exampleUint16 dans l’instance créé par ce code.
#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;
};
Si vous émettez la requête suivante, vous obtenez un code d’erreur qui indique une requête non valide.
SELECT * FROM abc WHERE exampleUint16 = 1000.4
Toutefois, la requête suivante recherche l’instance indiquée.
SELECT * FROM abc WHERE exampleUint16 = 1000
Rubriques connexes