这要看是什么除法,如果是普通除法是不进行舍入的,而如果是整除则要先把除数与被除数进行取整后再进行计算,如果计算结果带小数则再次取整。
阳谷网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联公司从2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
比如:
13.5 / 2.5 = 5.4
13.5 \ 2.5 = 14 \ 2 = 7
你会发现这两种除法的运算结果差别很大,这是因为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.WriteLine("{0}={1}/{2}",s,fz,fm)
Console.Write("Press any key to continue . . . ")
Console.ReadKey(True)
End Sub
End Module
以下举例二种写法:
1:Print Round("1.256", 2) '保留2位小数并四舍五入
2:Print Format("0.256", "0.00")'保留2位小数并四舍五入,小于1大于-1的数,个位数为添加0。
用于计算器,建议用;
Print Format$("0.256", "0.00")
用这个函数把
Math.Round 方法 (Decimal, Int32)
将小数值舍入到指定精度。
命名空间: 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
类型:System.Int32
返回值中的小数位数(精度)。
返回值
类型:System.Decimal
精度等于 decimals,最接近 d 的数字。
Math.Round(3.4666666, 4) 结果是 3.4667.
可以用Rnd函数实现
Rnd 函数返回小于 1 但大于或等于 0 的值。
为了生成某个范围内的随机整数,可使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。
你这里可以先把范围扩大10倍,看成21到34之间的随机数,最后再除以10就行了。
Int((34 - 21 + 1) * Rnd + 21) / 10