重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
int在绝对值上四舍五入,Truncate在靠近0的方向取整,比如:
创新互联建站自成立以来,一直致力于为企业提供从网站策划、网站设计、成都做网站、成都网站制作、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。
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
使用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 四舍五入
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
有两个函数:Int 和 Fix。
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 表示四舍五入到百分位(小数点后第二位)
Option Explicit On
Option Strict On
Imports System
Module Program
Sub Main()
Dim s As String
Dim strs As String()
Dim fz,fm,n,m,t As Long
Console.Write("请输入一个小数:")
s=Console.ReadLine().Trim()
strs=s.Split("."C)
fz=CLng(strs(0))
fm=CLng(Math.Pow(10,strs(1).Length))
fz=fz*fm+CLng(strs(1))
n=fz
m=fm
While n Mod m0
t=n Mod m
n=m
m=t
End While
fz\=m
fm\=m
Console.WriteLine("{0}={1}/{2}",s,fz,fm)
Console.Write("Press any key to continue . . . ")
Console.ReadKey(True)
End Sub
End Module