我有一個數據表,其中包含從文本文件導入的一些數據,其中包含默認情況下具有數據類型 == 字符和建模類型 == 名義的列。 這些列包含數字,其中一些有小數點,一些小數點後面的數字。 我希望將這些列轉換為 Numeric、Continuous、Engineering SI,但我遇到了一些奇怪的行為。 即,在某些情況下,包含小數點的列中的值將被刪除(它們的值設置為“.”)。
我嘗試了兩種方法:
使用列信息手動更改列:
- 如果我將所有三個字段一次更改為 Numeric、Continuous、Engineering SI,然後單擊“應用”,則包含小數點的值將重置為“。”
- 如果我在更改每個字段後按“應用”(總共 3 次),那麼值的格式正確並且一切正常。
使用 JSL 更改列:(這是我真正想要做的)
我的代碼一次設置所有三個字段:
dt = Current Data Table();
dt:ColumnName << Set Data type( "Numeric" ) << Set Modeling Type( "Continuous" ) << Set Format( "Engineering SI", 12, 5);
這會將 ColumnName 列中的所有值重置為“.”。 我也嘗試過使用 column(dt, "ColumnName") 而不是 dt:ColumnName,並且一次只設置一個字段,但結果是一樣的。 代碼似乎運行良好。 它確實將“Scriptable []”寫入終端,但我無法找出這意味著什麼。