四舍五入
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
以上是关于四舍五入的主要内容,如果未能解决你的问题,请参考以下文章