VB 切捨 切上 四捨五入 小數判斷

2021-05-24 13:06:08 字數 2224 閱讀 9558

'********1*********2*********3*********4*********5*********6*********7**********

'*: description: 丸め処理

'*: argments: d = 原データ

'*:           *** = 丸め區分(0:切り舍て 1:四捨五入 2:四捨五入)

'*:           m  = 小數の桁數

'********1*********2*********3*********4*********5*********6*********7**********

public function cf_cround(byval d as currency, *** as integer, m as integer) as currency

dim buf1 as long

dim buf2 as currency

dim fugo as integer

if d <> 0 and m >= 0 then

fugo = 0

if sgn(d) = -1 then 'マイナスの場合

fugo = 1    'fugoフラグ = 1

end if

d = abs(d)      '絕対値に換算

buf1 = 10 ^ m

if *** = 0 then '切り舍て

buf2 = d * buf1

buf2 = int(buf2)

elseif *** = 1 then     '四捨五入

buf2 = d * buf1 + 0.5

buf2 = int(buf2)

elseif *** = 2 then '切り上げ

buf2 = d * buf1 + 0.9

buf2 = int(buf2)

end if

if fugo = 1 then

cf_cround = (buf2 / buf1) * -1

else

cf_cround = buf2 / buf1

end if

else

cf_cround = d

end if

end function

public function cf_chk_shosu(ip_text as string, ip_seisu as integer, ip_shosu as integer) as boolean

'*: argments: ip_text  = チェック対象の文字列

'*:           ip_seisu = 整數部桁數

'*:           ip_shosu = 小數部桁數

on error goto err_exit

dim strtext as string

dim intlen  as integer

dim pnt as integer

'數値として認識できなければエラー

if isnumeric(ip_text) = false then

cf_chk_shosu = false

exit function

end if

'頭にゼロがついていた場合削除

strtext = cstr(cdbl(ip_text))

intlen = len(strtext)

'小數點位置を判定

pnt = instr(strtext, ".")

'小數點なし

if pnt = 0 then

'桁數チェック

if intlen <= ip_seisu then

cf_chk_shosu = true

else

cf_chk_shosu = false

end if

'整數部桁數オーバー

elseif pnt - 1 > ip_seisu then

cf_chk_shosu = false

'小數部桁數オーバー

elseif intlen - pnt > ip_shosu then

cf_chk_shosu = false

'正常else

cf_chk_shosu = true

end if

exit function

err_exit:

cf_chk_shosu = false

end function

qt的四捨五入 Qt(C )四捨五入

qt現在是四捨六入五成雙,要想四捨五入得自己想辦法,實現如下 include include double c1 3.435 double c2 3.445 double c3 3.4351 double c4 3.4451 double c5 3.445 qdebug qdebug qdebug ...

mysql 金額 四捨五入 mysql四捨五入

雲資料庫 mysql 雲資料庫 rds for mysql 是穩定可靠 可彈性伸縮的雲資料庫服務。通過雲資料庫能夠讓您幾分鐘內完成資料庫部署。雲端完全託管,讓您專注於應用程式開發,無需為資料庫運維煩惱 低至 0.24 小時起,買1年83折 雲資料庫mysql 雲資料庫 rds for mysql 是...

sql 將小數四捨五入

如何使用 oracle round 函式 四捨五入 描述 傳回乙個數值,該數值是按照指定的小數字元數進行四捨五入運算的結果。select round number,decimal places from dual 引數 number 欲處理之數值 decimal places 四捨五入 小數取幾位 ...