vb.net不四舍五入的简单介绍

VB编程怎么控制小数点位数又不四舍五入 。Dim s As String, pos As Integer
【vb.net不四舍五入的简单介绍】Dim v As Double, a As Double, b As Double
s = "123.4567"'字符串的123.4567
v = Val(s)'数值123.4567
'根据字符串只截取三位小数 , 第四位不四舍五入
pos = InStr(s, ".")
a = Val(Left(s, pos + 3))'从左边取到小数点位置+3个字符,转换为数值
b = Int(v * 1000) / 1000 '把123.4567扩大1000倍后取整为123456.7再除1000
Print a, b
关于VB.net取整的问题double是双精度 有效数值位52位 表示成指数的形式 即指数11位 即表示成
所以180.89305用2进制表示是10110100.1110010010011110111011001011111110110001010110110101

180.89305在double中存在的实际数值是
1.01101001110010010011110111011001011111110110001010110110101 *2^7
取小数点后 52位有效值后 等于10进制的180.893049999999998
所及加最后变成了 1808930.99999999998
第一次当然输出近似值1808931
第二次int函数去掉了小数点后的数int就是只取整数的部位的不是四舍五入 所以少了1
vb.net里四舍五入用什么函数使用Math.Round() , 注意返回值可能为Double或Decimal 。
如果取整,第二个参数不填或者填0
默认采用 四舍六入五成双,如果想四舍五入,请采用MidpointRounding.AwayFromZero作为第三个参数
Dim 数字 As Double = 2.45
Dim r1 As Double = Math.Round(数字, 1, MidpointRounding.ToEven) 'r1 = 2.4 四舍六入五成双
Dim r2 As Double = Math.Round(数字, 1, MidpointRounding.AwayFromZero) ' r2 = 2.5 四舍五入
VB.NET 怎么样保留后面的小数位保留两位小数的一般方法是四舍五入法 。
保留两位小数,看千分位 。是4或比4小舍去;是5或比5大舍去以后向前一位进1 。
如:3.425保留两位小数就是3.43
3.421保留两位小数就是3.42
又如: 3.4263保留两位小数就是3.43
3.4233保留两位小数就是3.42
再如:3.4保留两位小数就是3.40
关于vb.net不四舍五入和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读