Visual_Basic 板


LINE

※ 引述《changyg (Bob)》之銘言: : ※ 引述《RuinGgg (Tank)》之銘言: : : 主要是Data1 和Data2要去做簡單比較, : : Data1裡面是Excel資料,有小數點, : : 我是直接以Round(XX,3)來寫, : : EX: 6.3333333 -> 6.333 : 直接在 Excel 使用 =round(儲存格,3) 就是常見的四捨五入。 : : Data2的資料是由VBA小程式跑出來的, : : 其中我用worksheetfunction.round(XX,3)來寫,但是6.3333333會變成6.334 : : 另外試了worksheetfunction.rounddown, : : 結果變成6.332.... : 我猜這邊描述有誤,因為直接使用 WorksheetFunction.Round(,3) : 或是 WorksheetFunction.RoundDown(,3) : 甚至 WorksheetFunction.RoundUp(,3) : 相當於直接在 Excel 的儲存格輸入 =Round(), =RoundDown, =RoundUp() : 不會出現你說的進位問題,都是單純的四捨五入、無條件捨去或進位。 : 你的提問應該是, : 在 VBA 之下的 Round() 計算跟 使用 WorksheetFunction.Round() 為什麼有不同? : 官方文件指出在 VBA 底下的 Round() 使用 : 奇進偶捨,又稱為四捨六入五成雙規則、銀行進位法(Banker's Rounding) : ※維基百科 => (https://bit.ly/2DoAT6Q) : ※Microsoft Docs => (https://bit.ly/2DqpnrN) : 簡單來說,遇到 4 就捨去,遇到 6 就進位, : 唯獨遇到 5 比較麻煩。 : 1. 5 後面有數值? 有 => 進位。 : 2. 5 後面沒有數值, : 此時 5 前面的數字是偶數 => 捨去;5 前面是奇數 => 進位。 : 例如: : Round(1.252,1)= 1.3 取小數第一位,5 後面有數值 : Round(1.25,1) = 1.2 取小數第一位,5 後面無數值且前面是 2 偶數 : Round(1.35,1) = 1.4 取小數第一位,5 後面無數值且前面是 3 奇數 : 因自己處理過計算數值的問題,藉此機會回答你的問題。:P : (使用版本為 2007 Excel) 1. 感謝c大指正... 直接以數字"6.33333"去試Excel裡的Round和VBA裡的worksheetfunction.round, 確實結果是一樣的。 2. 簡單貼一下我的原始碼 For i = 3 To 99 For j = 1 To Cells(i - 1, 5) Dbot = Cells(k - 1, 6) - Cells(i - 1, 2) / Cells(i - 1, 5) Cells(k, 6) = WorksheetFunction.Round(Dbot, 3) If k = 7 Then End If k = k + 1 Next j Next i 這邊發現Dbot算出來的數字是6.3336667, 所以round出來本來就是6.334.... 所以是我計算數值沒搞清楚的問題.... 改了一下計算方式就可以對應了@@ 算到頭暈了... 謝謝! --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.124.146
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1537928524.A.B99.html







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP