Compilazione di codice MOF con valori Floating-Point
Il compilatore MOF accetta un valore a virgola mobile specificato per una proprietà non a virgola mobile. Il valore viene arrotondato verso l'alto o verso il basso e memorizzato come numero intero. Questa situazione può causare alcuni risultati imprevisti.
Nell'esempio di codice MOF seguente viene definita una classe denominata abc in uno spazio dei nomi denominato "Test". Questo codice MOF viene compilato senza errori, ma non è possibile eseguire una query per il valore a virgola mobile definito per la proprietà exampleUint16 nell'istanza creata da questo codice.
#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;
};
Se si esegue la query seguente, viene visualizzato un codice di errore che indica una query non valida.
SELECT * FROM abc WHERE exampleUint16 = 1000.4
Tuttavia, la query seguente trova l'istanza indicata.
SELECT * FROM abc WHERE exampleUint16 = 1000
Argomenti correlati