我需要将值舍入到最接近的2.5的倍数.
例如:
6 - > 7.5
7.6 - > 10
等
这似乎是最好的方法吗?
Function RoundToIncrement(ByVal originalNumber As Decimal, ByVal increment As Decimal) As Decimal
Dim num = Math.Round(originalNumber / increment, MidpointRounding.AwayFromZero) * increment
If originalNumber Mod increment <> 0 And num < originalNumber Then
num += increment
End If
Return num
End Function
Run Code Online (Sandbox Code Playgroud)
har*_*rpo 19
将数字除以2.5,向上舍入到最接近的整数,然后将结果乘以2.5.
你很亲密
Function RoundToIncrement(ByVal orignialNumber As Decimal, ByVal increment As Decimal) As Decimal
Return Math.Ceiling( orignialNumber / increment ) * increment
End Function
Run Code Online (Sandbox Code Playgroud)
Math.Ceiling将始终向上舍入非整数,因此您不需要进行后期调整.
| 归档时间: |
|
| 查看次数: |
3287 次 |
| 最近记录: |