四舍五入

Posted gaoleionline

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了四舍五入相关的知识,希望对你有一定的参考价值。

‘‘‘ <summary>

‘‘‘     四舍五入

‘‘‘ </summary>

‘‘‘ <param name="dbValue">需要四舍五入的原始数据,字符串类型</param>

‘‘‘ <param name="rightBits">四舍五入以后,小数点右边保留几位;整数类型</param>

‘‘‘ <returns>返回字符串</returns>

‘‘‘ <remarks></remarks>

Public Function add5remove4(dbValue As String, rightBits As Integer) As String

 

       If dbValue.Contains(".") Then    ‘   如果金额数值 带有小数点

          Dim strLeft AsString = dbValue.Split(".")(0)     ‘ 取得 小数点左边的字符串

         Dim strRight AsString = dbValue.Split(".")(1)    ‘  取得小数点右边的字符串(小数部分)

         If strRight.Trim.Length > rightBits Then  ‘ 如果小数点后面超过位数,则需要对其进行处理(四舍五入,保留3位)

              Dim strRight123 As String = strRight.Substring(0, rightBits)    ‘  小数部分 前 n 位

              Dim strRight4 As String = strRight.Substring(rightBits, 1)      ‘  小数部分 第 n+1 位

              If CInt(strRight4) >= 5 Then   ‘ 如果第 n+1 位大于等于5 

                               strRight123 = ( CInt(strRight123) + 1).ToString   ‘  前 n 位加一

               If strRight123.Length > rightBits Then   ‘  如果 前n位是 9999(加一就变成 10000 )  

                                         strLeft = ( CInt(strLeft) + 1).ToString   ‘  左边加一

                      strRight123 = strRight123.Substring(1, rightBits)   ‘  右边取 n 位

                End If

              End If

              dbValue = strLeft & "." & strRight123     ‘   重新组合

         End If

     End If

    

      Return dbValue   ‘ 如果数值没有小数点,则直接返回

End Function

以上是关于四舍五入的主要内容,如果未能解决你的问题,请参考以下文章

angular js中怎样四舍五入

C语言小数的四舍五入

JS 中的四舍五入

java如何做到四舍五入

C#怎么保留小数后面2个小数 又怎么四舍五入保留2个小数

js四舍五入不显示.00