Compilation de code MOF avec des valeurs Floating-Point
Le compilateur MOF accepte une valeur à virgule flottante spécifiée pour une propriété à virgule flottante. La valeur est arrondie vers le haut ou vers le haut et stockée sous la forme d’un nombre à virgule 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 est compilé sans erreurs, mais vous ne pouvez pas interroger la valeur à virgule flottante définie pour la propriété exampleUint16 dans l’instance créée 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 exécutez la requête suivante, vous recevez 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