重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
int在绝对值上四舍五入,Truncate在靠近0的方向取整,比如:
成都创新互联公司长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为阳新企业提供专业的成都做网站、成都网站设计,阳新网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
Sub Main()
Dim d = -1.9D
'Dim I As Integer = Int(d) '-2
Dim I As Integer = Math.Truncate(d) '-1
Console.WriteLine(I)
Console.ReadLine()
End Sub
最简单的就是200\6
/是除,\是整除
可以直接用函数来实现:
1、用CInt()函数的范围在-32,768 至 32,767,对于小数部分四舍五入 。
2、用Int()函数和Fix()函数都会删除参数的小数部份而返回剩下的整数,不同之处在于,如果参数为负数,则Int()函数返回小于或等于参数的第一个负整数,而Fix()函数则会返回大于或等于参数的第一个负整数。
扩展资料:
VB常用函数
1、Time
返回系统时钟的当前时间。
2、Date
返回系统时钟的当前日期。
3、Now
返回代表当前日期和时间的编码值。该函数经常用作其它系统时钟函数的参数。
4、Hour(Time)
返回指定时间的小时部分(0到23)。
5、Minute(Time)
返回指定时间的分钟部分(0到59)。
6、Second(Time)
返回指定时间的秒部分(0到59)。
7、Day(Date)
返回月份中的日期数(1到31)。
参考资料来源:百度百科- Visual Basic
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.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 四舍五入