欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

使用VBA自帶Round函數所遇到的坑

admin
2024年10月29日 18:44 本文熱度 496

ROUND函數大家都非常熟悉,是Excel中用于對數字進行四舍五入的函數。它可以將一個數值按照指定的位數進行近似處理。

它的語法也非常簡單:ROUND(number, num_digits)

當num_digits大于0 時,表示要將數字四舍五入到指定的小數位數。

如ROUND(2.786,2)的結果是2.79。

當num_digits等于 0 時,表示將數字四舍五入到最接近的整數。

如ROUND(3.6,0)的結果是4,而ROUND(3.4,0)的結果是3。

當num_digits小于 0 時,表示對整數部分進行四舍五入。具體來說,num_digits為-1時,函數會將數字四舍五入到十位;num_digits為-2時,函數會將數字四舍五入到百位,以此類推。

如ROUND(1236,-1)的結果是1240;ROUND(1236,-2)的結果是1200。

上面的都好理解,但是如果在VBA中使用內置的Round函數,結果就有所不同啦,這就是我遇到的坑。

比如說ROUND(4.45,1)的結果是4.5,但是在使用VBA內置的Round函數運行的結果卻是4.4,這個結果顯然不是我們在實際工作中所需要的。

如下圖所示:

這到底是什么原因呢?原因是VBA內置的Round函數在對數值進行四舍五入運算時實行的是Bankre舍入規則。Banker 舍入,也稱為四舍六入五成雙,是一種在數值計算中比較精確的舍入方式。它的基本規則是:當舍去位的數值小于 5 時,直接舍去;當舍去位的數值大于 5 時,進位;當舍去位的數值等于 5 時,如果進位后前一位數字為偶數,則舍去,若前一位數字為奇數,則進位。

針對上面的4.45保留一位小數,怎么在VBA中讓它變成正常的呢。

解決方法有兩種:

方法一:使用工作表函數

注意:這里使用Application和不使用Application是完全不同的。

方法二:進行修正

注意:修正的小數位數一定要高于原來數據的小數位數。


該文章在 2024/10/30 11:41:31 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved