谢谢
2.5  四舍五入到  3
3.5  四舍五入到  4请赐教

解决方案 »

  1.   

    format(a,"0.00") 这样就四舍五入保持2位小数。
      

  2.   


    Int(数字+0.5)
    哇,聪明~~
      

  3.   

    vb里的round就是四舍五入
    不过他的舍是0<=数<=5
    也就是2.50000001才入
    需大于5
      

  4.   

    You should use Int(数字+0.5).
      

  5.   

    Round最后一位保留偶数Const EPS=0.000001
    y=Round(x+Sgn(x)*EPS)
      

  6.   

    Round函数用的是所谓的银行算法:奇进偶不进这个是我在开发时写的一个可以四舍五入的函数
    Public Function fcRoundValue(dblValue As Double, lngDecimal As Long) As DoubleDim strTempRemain    As String        '数值保留部分
    Dim lngTempRemain    As Long          '数值保留部分位数
    Dim dblTempRound     As Double        '数值四舍五入部分
    Dim strDecimal       As String        '小数点位置
    Dim strTempValue     As String        '临时数值变量
    Dim dblTempcount     As Double        '四舍五入的值
    Dim lngLoop          As Long          '循环变量
        
        '转换数值类型
        strTempValue = CStr(dblValue)
        '小数点位置
        strDecimal = InStr(strTempValue, ".")
        
        '如果四舍五入的设定小数位数比实际小数位数要多(实际数值没有小数)
        If strDecimal = 0 Then
            fcRoundValue = dblValue
            Exit Function
        '如果四舍五入的设定小数位数比实际小数位数多或者相等(实际数值有小数)
        ElseIf (CLng(strDecimal) + lngDecimal) >= Len(strTempValue) Then
            fcRoundValue = dblValue
            Exit Function
        End If
        
        '取得保留位置部分的数据及数据长度
        strTempRemain = Left(strTempValue, (CLng(strDecimal) + lngDecimal))
        lngTempRemain = Len(strTempRemain)
        
        '取得数据四舍五入部分的值
        dblTempRound = gfcConvzero(CDbl(Mid(strTempValue, lngTempRemain + 1, 1)))
        
        '如果需要四舍五入(四舍五入部分数值大于等于5)
        If (dblTempRound >= 5) Then
            dblTempcount = 1
            '计算四舍五入的值
            For lngLoop = 1 To lngDecimal
                dblTempcount = dblTempcount / 10
            Next
            '如果是正值或零值
            If (dblValue >= 0) Then
                '计算最终结果
                fcRoundValue = CDbl(strTempRemain) + dblTempcount
            '如果是负值
            ElseIf (dblValue <= 0) Then
                '计算最终结果
                fcRoundValue = CDbl(strTempRemain) - dblTempcount
            End If
        '如果不需要四舍五入(四舍五入部分数值小于5)
        ElseIf (dblTempRound < 5) Then
            '计算最终结果
            fcRoundValue = CDbl(strTempRemain)
        End If
    End Function