|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2007-05-23, 06:53 PM | #1 |
註冊會員
|
疑問 - DBGrid的欄位格式
請教各位: 我用From_Load方法使adodc連接SQL資料,要如何改變浮點數欄位的資料為小數點後1位 (原本為小數點後8位,我有利用.DataFormat屬性可是不會用) 謝謝 |
送花文章: 2,
|
2007-05-28, 05:07 PM | #7 (permalink) |
註冊會員
|
再請教大大:
我的程式碼如下,我要如何以Format()格式組合使JobBatchSet的欄位變成(###.#) 謝謝 '======================================================= Private Sub Form_Load() ConnStr = "Provider=MSDASQL.1;Persist Security Info=False;" & _ "Data Source=CC_walsin1_07_05_08_09_57_04R" Sql_Data = "SELECT JobName, JobProcessCode, JobBatchSet, " & _ "JobBatchAct , JobStatus, LastUser, LastAccess " & _ "FROM UA#JobArc" Adodc1.ConnectionString = ConnStr Adodc1.CommandType = adCmdText Adodc1.RecordSource = Sql_Data Adodc1.Refresh End Sub '======================================================= |
送花文章: 2,
|
2007-05-29, 10:25 AM | #10 (permalink) |
長老會員
|
語法:
'======================================================= Private Sub Form_Load() ConnStr = "Provider=MSDASQL.1;Persist Security Info=False;" & _ "Data Source=CC_walsin1_07_05_08_09_57_04R" Sql_Data = "SELECT JobName, JobProcessCode, JobBatchSet, " & _ "FLOOR(JobBatchAct * 10 + 0.5) * 0.1" , JobStatus, LastUser, LastAccess " & _ "FROM UA#JobArc" Adodc1.ConnectionString = ConnStr Adodc1.CommandType = adCmdText Adodc1.RecordSource = Sql_Data Adodc1.Refresh End Sub '======================================================= '四捨五入取小數1位 "FLOOR(JobBatchAct * 10 + 0.5) * 0.1" '四捨五入取小數2位 "FLOOR(JobBatchAct * 100 + 0.5) * 0.01" '四捨五入取小數3位 "FLOOR(JobBatchAct * 1000 + 0.5) * 0.001" 依此類推 |
送花文章: 150,
|
向 劍痞憶秋年 送花的會員:
|
profibus (2007-05-29)
感謝您發表一篇好文章 |
2007-05-29, 10:23 PM | #11 (permalink) | |
註冊會員
|
引用:
已經可以了,不過我不太了解為什麼要+0.5 |
|
送花文章: 2,
|
2007-05-30, 12:43 AM | #12 (permalink) |
長老會員
|
啊哈,其實偶也只是抄來的,所以不知道為何
不過偶想是這樣的 <1> Floor ==> 傳回小於或等於指定數值運算式的最大整數 ==> 偶解釋為 無條件捨去小數法 <2>以實值為例 1.23456 取小數1位 * 10 = 12.3456 + 0.5 = 12.8456 floor(12.8456)=12 (無條件捨去法) * 0.1 = 1.2 取小數2位 * 100 = 123.456 + 0.5 = 123.956 floor(123.956)=123 (無條件捨去法) * 0.01 = 1.23 取小數3位 * 1000 = 1234.56 + 0.5 = 1235.06 floor(1235.06)=1235 (無條件捨去法) * 0.001 = 1.235 其實就是 (1)把它要四捨五入的那個位數先變成 小數第一位 (2)這樣一來 + 0.5 之後,它就達到了四捨五入的功能 (該進位就進位到整數) (3)(該捨的就捨掉啦,小數都捨掉了) (4)最後再還原(1)做的動作((1)* 多少,(4)這裡就 / 多少(用*方式達成) |
送花文章: 150,
|
2007-05-31, 11:37 AM | #13 (permalink) | |
註冊會員
|
引用:
我了解了,+0.5就是要作到四捨五入的功能 |
|
送花文章: 2,
|