我希望数字的小数部分更改为自定义值。
例如:
所以我想将数字四舍五入为99。使用.NET,我该怎么办?
答案 0 :(得分:1)
这会将带有小数的值“舍入”到.99
,其他值保持不变。
decimal Round99(decimal value) =>
value % 1 == 0 ?
value :
value < 0 ?
decimal.Floor(value) + 0.01M :
decimal.Ceiling(value) - 0.01M;
结果:
1.999 --> 1.99
1.5 --> 1.99
1 --> 1
-1.5 --> -1.99
答案 1 :(得分:0)
您要忽略分数=>使用Math.Truncate。
然后,您要将分数设置为0.99 =>添加0.99
Function Make99(x As Decimal) As Decimal
Return Math.Truncate(x) + 0.99D
End Function
Sub Main()
Dim testData = {2.34D, 3.74D, 4.11D, 5D}
For Each t In testData
Console.WriteLine(t.ToString("0.00") & " - " & Make99(t))
Next
Console.ReadLine()
End Sub
输出:
2.34-2.99
3.74-3.99
4.11-4.99
5.00-5.99