这要看是什么除法,如果是普通除法是不进行舍入的,而如果是整除则要先把除数与被除数进行取整后再进行计算,如果计算结果带小数则再次取整.
比如:
你会发现这两种除法的运算结果差别很大,这是因为VB在进行数字的舍入以及取整的时候采用的并不是"四舍五入"原则,而是"四舍六入五成双"原则,具体的你可以上百度百科查一查.
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.Write("Press any key to continue . . . ")
Console.ReadKey(True)
End Sub
End Module
以下举例二种写法:
用于计算器,建议用;
用这个函数把
将小数值舍入到指定精度.
命名空间: System
程序集: mscorlib(在 mscorlib.dll 中)
语法
Visual Basic(用法)
Dim d As Decimal
Dim decimals As Integer
Dim returnValue As Decimal
returnValue = Math.Round(d, decimals)
参数
d
类型:System.Decimal
要舍入的小数.
decimals
返回值中的小数位数(精度).
返回值
精度等于 decimals,最接近 d 的数字.
可以用Rnd函数实现
Rnd 函数返回小于 1 但大于或等于 0 的值.
为了生成某个范围内的随机整数,可使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限.