保留兩位小數(shù)的一般方法是四舍五入法。
建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁設(shè)計(jì)師等,應(yīng)用各種網(wǎng)絡(luò)程序開發(fā)技術(shù)和網(wǎng)頁設(shè)計(jì)技術(shù)配合操作的協(xié)同工作。創(chuàng)新互聯(lián)專業(yè)提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站制作(企業(yè)站、響應(yīng)式網(wǎng)站、電商門戶網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗(yàn)的提升,我們力求做到極致!
保留兩位小數(shù),看千分位。是4或比4小舍去;是5或比5大舍去以后向前一位進(jìn)1。
如:3.425保留兩位小數(shù)就是3.43
3.421保留兩位小數(shù)就是3.42
又如: 3.4263保留兩位小數(shù)就是3.43
3.4233保留兩位小數(shù)就是3.42
再如:3.4保留兩位小數(shù)就是3.40
VB用Format 函數(shù)即可實(shí)現(xiàn)。
Format 函數(shù),返回 Variant (String),其中含有一個(gè)表達(dá)式,它是根據(jù)格式表達(dá)式中的指令來格式化的。
Print Format(3.1415926, "#.##")
*#:表示一個(gè)數(shù)字位。#的個(gè)數(shù)決定了顯示區(qū)段的長度。如果要顯示的數(shù)值的位數(shù)小于格式字符串指定的區(qū)段長度,則該數(shù)值靠區(qū)段的左端顯示。如果要顯示的數(shù)值的位數(shù)大于指定的區(qū)段長度,則數(shù)值照原樣顯示。 要顯示多位,只需要設(shè)置數(shù)字位數(shù)即可,例如:
Print format(3.14159262654321,”#.#######”)
顯示:3.1415926
VB中有專門用來四舍五入的函數(shù)
Round 函數(shù):返回按指定位數(shù)進(jìn)行四舍五入的數(shù)值。
語法:Round(expression[, numdecimalplaces])
參數(shù):expression(必選項(xiàng))-被四舍五入的數(shù)值表達(dá)式 ;numdecimalplaces(可選項(xiàng))-數(shù)字表明小數(shù)點(diǎn)右邊有多少位進(jìn)行四舍五入,如果省略則 Round 函數(shù)返回整數(shù)。
下面的示例利用 Round 函數(shù)將數(shù)值四舍五入到兩位小數(shù):
Dim MyVar, pi
pi = 3.14159
MyVar = Round(pi, 2) 'MyVar contains 3.14。
private sub text1_change()
text1.text=format(val(text1.text),"0.00")
end sub
代碼分析:
Math.Floor:返回小于或等于指定數(shù)字的最大整數(shù)。
Fix:返回?cái)?shù)字的整數(shù)部分。
Math.Floor?和?Fix?函數(shù)都移除?Number?的小數(shù)部分并返回得到的整數(shù)值。
Math.Floor?和?Fix?函數(shù)之間的區(qū)別在于:如果?Number?為負(fù),則?Math.Floor?返回小于或等于?Number?的第一個(gè)負(fù)整數(shù),而?Fix?返回大于或等于?Number?的第一個(gè)負(fù)整數(shù)。例如,Math.Floor?將?-8.4?轉(zhuǎn)換成?-9,而?Fix?將?-8.4?轉(zhuǎn)換成?-8。
你的要求:如果你的要求是直接舍去,那么應(yīng)當(dāng)采用Fix方法,考慮到時(shí)負(fù)數(shù)的情況,那么采用Math.Floor將會(huì)出現(xiàn)非預(yù)期的結(jié)果。
測試結(jié)果:見附圖。
歡迎交流。
舉個(gè)例子
Dim a As Decimal = 1.999
Dim b As Decimal = Math.Round(a, 2)
結(jié)果為b = 2.00
四舍五入保留兩位