我有一個數據表,其中包含從文字檔案匯入的一些數據,其中包含預設情況下數據類型 == 字元和建模類型 == 標稱的列。 這些列包含數字,其中有些帶有小數點,有些在小數點後面。 我希望將這些列轉換為數字、連續、工程 SI,但我遇到了一些奇怪的行為。 即,在某些情況下,包含小數點的欄位中的值將被刪除(它們的值設為「.」)。
我嘗試了兩種方法:
使用列資訊手動更改列:
- 如果我將所有三個欄位一次更改為數字、連續、工程 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[]”寫入終端,但我無法找出這意味著什麼。
您可能在歐洲,並且您的本地設定使用 , 作為小數分隔符號。 將首先取代的列進行搜尋和取代。 by ,那麼你的程式碼應該可以工作。