有两个函数:Int 和 Fix。
创新互联建站专注于企业网络营销推广、网站重做改版、可克达拉网站定制设计、自适应品牌网站建设、html5、商城网站定制开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为可克达拉等各大城市提供网站开发制作服务。
Int 定义为返回不大于给定参数的最大整数值,如:
Int(3.9) = 3
Int(3.1) = 3
Int(3) = 3
Int(0) = 0
Int(-3) = -3
Int(-3.1) = -4
Int(-3.9) = -4
Fix 又称“截尾”函数。
即简单保留整数部分,如:
Fix(3.9) = 3
Fix(-3.9) = -3
如果需要“四舍五入”,则得巧妙利用 Int 函数:
Int(x + 0.5) 表示四舍五入到个位;
Int(x * 100 + 0.5) * 0.01 表示四舍五入到百分位(小数点后第二位)
使用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 四舍五入
cint()会四舍五入进它最接近的偶数,当小数部分大于0.5时,取其左右整数部分的偶数值。当小数部分小于0.5时,取整
int()直接取整数,舍弃小数部分。
如
Cint(0.5)=0,Cint(1.5)=2,Cint(1.2)=1,Cint(3.3)=3
Int(0.5)=0,Int(1.5)=1,Int(1.2)=1,Int(3.3)=3
不是函数,是使用Math类的Ceiling方法
Dim MyNumber As Double = 2.000000001
MsgBox(Math.Ceiling(MyNumber))
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