十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
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
不是函数,是使用Math类的Ceiling方法
Dim MyNumber As Double = 2.000000001
MsgBox(Math.Ceiling(MyNumber))
Int、Fix 函数
返回参数的整数部分。
语法
Int(number)
Fix(number)
说明
Int 和 Fix 都会删除 number 的小数部份而返回剩下的整数。
Int 和 Fix 的不同之处在于,如果 number 为负数,则 Int 返回小于或等于 number 的第一个负整数,而 Fix 则会返回大于或等于 number 的第一个负整数。例如,Int 将 -8.4 转换成 -9,而 Fix
将 -8.4 转换成 -8。
先判断一下是否整数,是整数就跳过。不是整数把数值+1,再用int取整即可。