史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 程式語言討論區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2007-05-23, 06:53 PM   #1
profibus
註冊會員
榮譽勳章

勳章總數
UID - 269708
在線等級: 級別:1 | 在線時長:7小時 | 升級還需:5小時
註冊日期: 2007-05-23
文章: 14
精華: 0
現金: 6 金幣
資產: 6 金幣
預設 疑問 - DBGrid的欄位格式



請教各位:
我用From_Load方法使adodc連接SQL資料,要如何改變浮點數欄位的資料為小數點後1位
(原本為小數點後8位,我有利用.DataFormat屬性可是不會用)
謝謝
profibus 目前離線  
送花文章: 2, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖
舊 2007-05-23, 10:51 PM   #2 (permalink)
長老會員
 
劍痞憶秋年 的頭像
榮譽勳章
UID - 15
在線等級: 級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時
註冊日期: 2002-12-06
住址: 步雲崖
文章: 280
精華: 0
現金: 15847 金幣
資產: 20867 金幣
預設

引用:
作者: profibus 查看文章
請教各位:
我用From_Load方法使adodc連接SQL資料,要如何改變浮點數欄位的資料為小數點後1位
(原本為小數點後8位,我有利用.DataFormat屬性可是不會用)
謝謝
ㄟ,偶也不會使用 DataFormat ,不過為什麼不換個方式,在 ADODC 的來源下 SQL 來達成咧
__________________
一切有為法 如夢幻泡影
如露亦如電 應作如是觀
劍痞憶秋年 目前離線  
送花文章: 150, 收花文章: 33 篇, 收花: 130 次
回覆時引用此帖
舊 2007-05-24, 09:45 AM   #3 (permalink)
註冊會員
榮譽勳章

勳章總數
UID - 269708
在線等級: 級別:1 | 在線時長:7小時 | 升級還需:5小時
註冊日期: 2007-05-23
文章: 14
精華: 0
現金: 6 金幣
資產: 6 金幣
預設

引用:
作者: 劍痞憶秋年 查看文章
ㄟ,偶也不會使用 DataFormat ,不過為什麼不換個方式,在 ADODC 的來源下 SQL 來達成咧
謝謝指導,可是我還是不會用,能夠請大大提供一個範例嗎?謝謝
profibus 目前離線  
送花文章: 2, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖
舊 2007-05-27, 05:02 PM   #4 (permalink)
註冊會員
 
sulein1122 的頭像
榮譽勳章
UID - 43104
在線等級: 級別:12 | 在線時長:206小時 | 升級還需:15小時級別:12 | 在線時長:206小時 | 升級還需:15小時
註冊日期: 2003-02-27
VIP期限: 2010-07
住址: 桃源吉第
文章: 136
精華: 0
現金: 0 金幣
資產: 17574881 金幣
預設

是指vb的嗎?
可以試試用format("##.#",變數值)來寫
要測一下喔,我有好長一段時間沒用vb了
sulein1122 目前離線  
送花文章: 0, 收花文章: 11 篇, 收花: 16 次
回覆時引用此帖
舊 2007-05-28, 09:22 AM   #5 (permalink)
註冊會員
榮譽勳章

勳章總數
UID - 269708
在線等級: 級別:1 | 在線時長:7小時 | 升級還需:5小時
註冊日期: 2007-05-23
文章: 14
精華: 0
現金: 6 金幣
資產: 6 金幣
預設

引用:
作者: sulein1122 查看文章
是指vb的嗎?
可以試試用format("##.#",變數值)來寫
要測一下喔,我有好長一段時間沒用vb了
感謝大大,我有測試過,不過字串符號(")無法組合,不懂耶
profibus 目前離線  
送花文章: 2, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖
舊 2007-05-28, 12:04 PM   #6 (permalink)
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時級別:97 | 在線時長:9861小時 | 升級還需:135小時
註冊日期: 2002-12-07
文章: 13343
精華: 0
現金: 26452 金幣
資產: 3024312 金幣
預設

引用:
作者: profibus 查看文章
感謝大大,我有測試過,不過字串符號(")無法組合,不懂耶
寫反了
應該是 format(變數, 字串表達式)

Format(變數, "###.#")
mini 目前離線  
送花文章: 2013, 收花文章: 8002 篇, 收花: 26806 次
回覆時引用此帖
舊 2007-05-28, 05:07 PM   #7 (permalink)
註冊會員
榮譽勳章

勳章總數
UID - 269708
在線等級: 級別:1 | 在線時長:7小時 | 升級還需:5小時
註冊日期: 2007-05-23
文章: 14
精華: 0
現金: 6 金幣
資產: 6 金幣
預設

引用:
作者: mini 查看文章
寫反了
應該是 format(變數, 字串表達式)

Format(變數, "###.#")
再請教大大:
我的程式碼如下,我要如何以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
'=======================================================
profibus 目前離線  
送花文章: 2, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖
舊 2007-05-28, 09:46 PM   #8 (permalink)
長老會員
 
劍痞憶秋年 的頭像
榮譽勳章
UID - 15
在線等級: 級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時
註冊日期: 2002-12-06
住址: 步雲崖
文章: 280
精華: 0
現金: 15847 金幣
資產: 20867 金幣
預設

資料來源是什麼咧??
ACCESS / SQL Server /.....
劍痞憶秋年 目前離線  
送花文章: 150, 收花文章: 33 篇, 收花: 130 次
回覆時引用此帖
舊 2007-05-29, 09:55 AM   #9 (permalink)
註冊會員
榮譽勳章

勳章總數
UID - 269708
在線等級: 級別:1 | 在線時長:7小時 | 升級還需:5小時
註冊日期: 2007-05-23
文章: 14
精華: 0
現金: 6 金幣
資產: 6 金幣
預設

引用:
作者: 劍痞憶秋年 查看文章
資料來源是什麼咧??
ACCESS / SQL Server /.....
回覆大大,SQL Server2000資料庫,我是用在Siemens圖控系統的資料庫用
profibus 目前離線  
送花文章: 2, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖
舊 2007-05-29, 10:25 AM   #10 (permalink)
長老會員
 
劍痞憶秋年 的頭像
榮譽勳章
UID - 15
在線等級: 級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時
註冊日期: 2002-12-06
住址: 步雲崖
文章: 280
精華: 0
現金: 15847 金幣
資產: 20867 金幣
預設

語法:
'=======================================================
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, 收花文章: 33 篇, 收花: 130 次
回覆時引用此帖
向 劍痞憶秋年 送花的會員:
profibus (2007-05-29)
感謝您發表一篇好文章
舊 2007-05-29, 10:23 PM   #11 (permalink)
註冊會員
榮譽勳章

勳章總數
UID - 269708
在線等級: 級別:1 | 在線時長:7小時 | 升級還需:5小時
註冊日期: 2007-05-23
文章: 14
精華: 0
現金: 6 金幣
資產: 6 金幣
預設

引用:
作者: 劍痞憶秋年 查看文章
語法:
'=======================================================
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"
依此類推
謝謝大大的範例:
已經可以了,不過我不太了解為什麼要+0.5
profibus 目前離線  
送花文章: 2, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖
舊 2007-05-30, 12:43 AM   #12 (permalink)
長老會員
 
劍痞憶秋年 的頭像
榮譽勳章
UID - 15
在線等級: 級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時級別:31 | 在線時長:1096小時 | 升級還需:56小時
註冊日期: 2002-12-06
住址: 步雲崖
文章: 280
精華: 0
現金: 15847 金幣
資產: 20867 金幣
預設

啊哈,其實偶也只是抄來的,所以不知道為何

不過偶想是這樣的
<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, 收花文章: 33 篇, 收花: 130 次
回覆時引用此帖
舊 2007-05-31, 11:37 AM   #13 (permalink)
註冊會員
榮譽勳章

勳章總數
UID - 269708
在線等級: 級別:1 | 在線時長:7小時 | 升級還需:5小時
註冊日期: 2007-05-23
文章: 14
精華: 0
現金: 6 金幣
資產: 6 金幣
預設

引用:
作者: 劍痞憶秋年 查看文章
啊哈,其實偶也只是抄來的,所以不知道為何

不過偶想是這樣的
<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)這裡就 / 多少(用*方式達成)
謝謝大大:
我了解了,+0.5就是要作到四捨五入的功能
profibus 目前離線  
送花文章: 2, 收花文章: 0 篇, 收花: 0 次
回覆時引用此帖
發文 回覆



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 02:41 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1