各位大哥:如何把一个小数转换成规定的小数位数
如题:如何把一个小数转换成规定的小数位数,如把一个浮点数3.523转换为3.5之类的,要求写一个函数.在EXCEL中是a = roundup(b,c)这种形式,但现在我要把这种功能转换到VB中,不知该怎么写函数,忘各位高手求救!感激不尽!!
[解决办法]
用round(b,c)这个函数可以
[解决办法]
例如a是存放你的小数的变量,b存放的是要保留的位数
a = (Int(a * (10 ^ b))) / (10 ^ b)
Debug.Print a
例:将3.1415926保留三位小数
a=3.1415926
b=3
a = (Int(a * (10 ^ b))) / (10 ^ b)
Debug.Print a
显示3.141
[解决办法]
你说的向上舍入,但怎么又说“如把一个浮点数3.523转换为3.5之类的”?应该是3.6吧。
另外,负数应该怎么向上舍入,如果-3.523向上舍入1位小数是-3.5的话,那你可以用我写的下面这个函数。
Private Function RoundUp(dblX As Double, intY As Integer) As Double
Dim intZ As Integer
intZ = intY * 10
If dblX > 0 Then
RoundUp = Abs(Int(-dblX * intZ)) / intZ
Else
RoundUp = Fix(RoundUp * intZ) / inz
End If
End Function
[解决办法]
不好意思,else后面那句写错了,应该是:RoundUp = Fix(dblX * intZ) / intZ
[解决办法]
http://topic.csdn.net/u/20080517/19/8b95e41a-2ffa-4897-894b-fbd7b1118285.html