vb.net除法取整,vb中整数除法的计算法则

vb.net中 int函数和math.Truncate 都是取整有什么区别

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

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取整的问题

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中小数怎么取整?

有两个函数: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 表示四舍五入到百分位(小数点后第二位)

vb.net 输入一个小数 求能得到这个商的最小的整数除数和最小整数被除数

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


名称栏目:vb.net除法取整,vb中整数除法的计算法则
新闻来源:http://ybzwz.com/article/hoihjg.html