vb.net四舍六入的簡(jiǎn)單介紹

VB.net round問(wèn)題

這應(yīng)該是由浮點(diǎn)數(shù)的誤差所造成的,你把kk設(shè)為雙精度浮點(diǎn)數(shù),那么結(jié)果就是1.34

綏中網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,綏中網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為綏中上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的綏中做網(wǎng)站的公司定做!

但是浮點(diǎn)數(shù)誤差與精度是無(wú)關(guān)的,雙精度也同樣存在,繼續(xù)測(cè)試你就會(huì)發(fā)現(xiàn)有趣的現(xiàn)象:

下面假定s為單精度浮點(diǎn)數(shù)變量,d為雙精度浮點(diǎn)數(shù)變量,則:

s = 1.345 Round(s, 2) = 1.35 (錯(cuò))

d = 1.345 Round(d, 2) = 1.34 (對(duì))

s = 2.345 Round(s, 2) = 2.35 (錯(cuò))

d = 2.345 Round(d, 2) = 2.35 (錯(cuò))

s = 3.345 Round(s, 2) = 3.35 (錯(cuò))

d = 3.345 Round(d, 2) = 3.34 (對(duì))

s = 4.345 Round(s, 2) = 4.34 (對(duì))

d = 4.345 Round(d, 2) = 4.34 (對(duì))

可以發(fā)現(xiàn)這錯(cuò)誤的發(fā)生是毫無(wú)規(guī)律的,有時(shí)候真能讓人發(fā)瘋!

vb中 mod函數(shù)左右的小數(shù)是怎么處理的 如2.5 mod2的結(jié)果是?

VB6中Mod 運(yùn)算符功能是兩數(shù)相除求余。

如果兩數(shù)中帶小數(shù),Mod 會(huì)先四舍六入取整,再按整數(shù)求余,余數(shù)帶小數(shù)的話只取整數(shù)部分。

注意,如果有書說(shuō)四舍五入,是錯(cuò)的。

在 VB6 用的是所謂銀行家算法,是四舍六入:

小數(shù)部分比 0.5 小就舍(例如0.4,0.49999),比 0.5 大就進(jìn)(例如0.6,0.500001),

剛好是 0.5 可能舍可能進(jìn),如果小數(shù)點(diǎn)前面是偶數(shù)就舍(例如2.5 得 2),是奇數(shù)就進(jìn)(例如3.5 得 4)。

Mod 運(yùn)算符在VB.NET中有改動(dòng),余數(shù)可以帶小數(shù)。

以上資料來(lái)自:

所以2.5 mod 2結(jié)果是0

vb.net里四舍五入用什么函數(shù)(謝謝)

round是vb6.0的吧,我剛才查了一下,在vb.net里變成了枚舉了成員為

成員名稱 說(shuō)明

RoundToBillionth 數(shù)字四舍五入為 9 個(gè)小數(shù)點(diǎn)位。

RoundToHundred 數(shù)字四舍五入為百位數(shù)。

RoundToHundredMillionth 數(shù)字四舍五入為 8 個(gè)小數(shù)點(diǎn)位

RoundToHundredth 數(shù)字四舍五入為 2 個(gè)小數(shù)點(diǎn)位

RoundToHundredThousand 數(shù)字四舍五入為十萬(wàn)位數(shù)。

RoundToHundredThousandth 數(shù)字四舍五入為 5 個(gè)小數(shù)點(diǎn)位。

RoundToMillion 數(shù)字四舍五入為百萬(wàn)位數(shù)。

RoundToMillionth 數(shù)字四舍五入為 6 個(gè)小數(shù)點(diǎn)位

RoundToTen 數(shù)字四舍五入為十位數(shù)。

RoundToTenBillionth 數(shù)字四舍五入為 10 個(gè)小數(shù)點(diǎn)位

RoundToTenMillionth 數(shù)字四舍五入為 7 個(gè)小數(shù)點(diǎn)位

RoundToTenth 數(shù)字四舍五入為 1 個(gè)小數(shù)點(diǎn)位。

RoundToTenThousand 數(shù)字四舍五入為萬(wàn)位數(shù)。

RoundToTenThousandth 數(shù)字四舍五入為 4 個(gè)小數(shù)點(diǎn)位。

RoundToThousand 數(shù)字四舍五入為千位數(shù)。

RoundToThousandth 數(shù)字四舍五入為 3 個(gè)小數(shù)點(diǎn)位。

RoundToUnit 數(shù)字四舍五入為個(gè)位數(shù)。要求

VB 四舍六入五取雙 取余數(shù) mod

“四舍六入五成雙”,也即“4舍6入5湊偶”這里“四”是指≤4 時(shí)舍去,"六"是指≥6時(shí)進(jìn)上,"五"指的是根據(jù)5后面的數(shù)字來(lái)定,當(dāng)5后有數(shù)時(shí),舍5入1;當(dāng)5后無(wú)有效數(shù)字時(shí),需要分兩種情況來(lái)講:①5前為奇數(shù),舍5入1;②5前為偶數(shù),舍5不進(jìn)。(0是偶數(shù))

也就是非整數(shù)時(shí),先round函數(shù)取整,再求余。這個(gè)算法與excel 不同

round(-7.2)=-7, round(-3.5)=-3, round(2.5)=2, round(1.5)=2

這些整數(shù)再取余,應(yīng)該就好理解了

網(wǎng)站標(biāo)題:vb.net四舍六入的簡(jiǎn)單介紹
URL網(wǎng)址:http://muchs.cn/article40/doshdeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管全網(wǎng)營(yíng)銷推廣、網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、搜索引擎優(yōu)化手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)