Dim dValue As Double
Select Case Int(Right(CStr(Int(dValue * 1000)), 1))
Case 0, 1, 2, 3, 4
dValue = Int(dValue * 100) / 100
Case Else
dValue = Int(dValue * 1000) / 100 + 0.01
End Select
Select Case Int(Right(CStr(Int(dValue * 1000)), 1))
Case 0, 1, 2, 3, 4
dValue = Int(dValue * 100) / 100
Case Else
dValue = Int(dValue * 1000) / 100 + 0.01
End Select
解决方案 »
- 该部件的许可证信息没找到,在设计环境中,没有合适的许可证使用该功能
- 应该用哪个API读取一个bmp文件的数据
- 求解此系统的问题!急急急!
- 请问远程复制约百万条SQL Server数据大约需要多长时间
- 数字跟字母20位以内的的所有组合有几个?
- 应用程序转进程
- 请问如何用VB在2000下访问并口
- 长发妹妹的问题~!~~!~~!~~!~~!~~!~~!~~!~~!~~!~~!~
- 求救:调用dll出现如下错误:“实时错误:‘48’,找不到文件:storage.dll"
- 求大神帮助,虽然是很简单的问题,但因为是初学,所以研究了很久都不知道怎么编写。
- 我的可用分有一千多分,专家分也有87分,为什么最多只能给23分。why????
- 怎样打印picturebox中的内容???
2。定义一个PARADOX数据库,字段只有一个,将该字段的小数位规定为两位!再将两个小数相乘的结果付值给该字段,
2。定义一个PARADOX数据库,字段只有一个,将该字段的小数位规定为两位!再将两个小数相乘的结果付值给该字段,
format(相乘的结果,"##########.00")
我自己写的一个函数你试试。
'四舍五入
Function AtoB45(a As Integer, b As Integer) As Double
Dim c As Double
c = a / b
If c - Int(c) > 0.5 Then
c = Int(c) + 1
Else
c = Int(c)
End If
AtoB45 = c
End Function
Dim a As String
Dim b As String
Dim c As String
a = 5.2655
b = 3.2568
Print Int(a * b * 100 + 0.5) / 100 '17.15
Print a * b '17.1486804
End Sub
Private Sub Command1_Click()
Dim a As Single, b As Single, c As Single
a = 5.2655
b = 3.2568
Print Int(a * b * 100 + 0.5) / 100 '17.15
Print a * b '17.14868
End Sub'四舍六入五成双 这个代码要不?
Dim C As Double
Dim D As String
C = Int((MainNumber * 10 ^ (Number + 1)))
D = Right(CStr(C), 1)
If CDbl(D) >= 5 Then
C = C + 10
C = Int(C / 10)
Else
C = Int(C / 10)
End If
Round = C / 10 ^ Number
Exit Function
End Function
Private Sub Command1_Click()
Dim a As Single, b As Single, c As Single
a = 5.2655
b = 3.2568
Print Int(a * b * 100 + 0.5) / 100 '17.15
Print a * b '17.14868
End Sub
回复人:KitSdk(kitsdk) (2001-7-9 12:41:34) 得0分 看这个函数!MainNumber是要转化的数,Number要保留的位数Function Round(MainNumber As Double, Number As Integer) As Double
Dim C As Double
Dim D As String
C = Int((MainNumber * 10 ^ (Number + 1)))
D = Right(CStr(C), 1)
If CDbl(D) >= 5 Then
C = C + 10
C = Int(C / 10)
Else
C = Int(C / 10)
End If
Round = C / 10 ^ Number
Exit Function
End Function
Print Round(-15.55, 1) '-15.5
Print Round(15.55, 1) '15.6'四舍五入函数
'MainNumber是要转化的数,Number要保留的位数
Private Function CRound(MainNumber As Double, Number As Double) As Double
If MainNumber < 0 Then
CRound = -Int(-MainNumber * 10 ^ Number + 0.5) / 10 ^ Number
Else 'MainNumber >= 0
CRound = Int(MainNumber * 10 ^ Number + 0.5) / 10 ^ Number
End If
End FunctionPrint CRound(-15.55, 1) '-15.6
Print CRound(15.55, 1) '15.6'你如果是处理实验数据的话
'大概知道四舍六入五成双吧
'这个代码也随便给你吧?
'MainNumber是要转化的数,Number要保留的位数
Private Function PhRound(MainNumber As Double, Number As Double) As Double
Dim Ph As Double
Ph = MainNumber * 10 ^ Number
PhRound = (Ph Mod (Abs(Ph) + 2)) / 10 ^ Number
End Function