我覺得我一直在以一種特別困難的方式做一些事情,這似乎應該是一項相對簡單的任務。想知道其他人是否有更好的方法的建議。

我正在嘗試建立一個像此處所示的自訂表格,其中“值”列中的每個條目都可以具有不同的小數位數。在下面的範例中,「N」應有0 個小數位,「Mean」/「SD」/「LCL (3SD)」/「UCL (3SD)」應恰好有四個小數位,「Pp」應恰好有兩個小數位位置等 - 包括任何尾隨零。這些值來自資料表,其中值輸入到第一行的列中,並以“Stat”列條目作為列標題。
最初我將其設定為一個表格框,其中嵌入了字串列框和數字列框:
nw = New Window( "nw", tb = Table Box(
scb = String Col Box( "Stat", {}),
ncb = Number Col Box( "Value", {}),
)
);
For( i = 1, i <= N Cols( dt), i++,
tb << Add Row( {Column( dt, i) << Get Name, Column( dt, i)[1] })
);但數字列框似乎有自己的數字格式設置,適用於該框中的所有條目。
經過多次試驗和錯誤,我發現有效的是使用 Char() 或 Format() (指定格式/小數位)將各個項目從數字格式轉換為字元格式。例如,
Column( dt, "Pp")[1] = Format( Round( Column( dt, "Pp")[1], 2), "Fixed Dec", 2);
然後用第二個字串列框替換數字列框並將轉換後的值加為字串,例如,
nw = New Window( "nw", tb = Table Box(
scb1 = String Col Box( "Stat", {}),
scb2 = String Col Box( "Value", {}),
)
);
For( i = 1, i <= N Cols( dt), i++,
tb << Add Row( {Column( dt, i) << Get Name, Column( dt, i)[1] })
);有沒有更簡單的方法讓我失蹤?
在旁邊:
- 今天我了解到Format()函數將數字資料轉換為字元資料。我認為這只是為了改變數字資料的格式。
- 今天我了解到可以為 Char() 添加寬度和小數位屬性。否則它將截掉尾隨零。