我有4个舍入选项:无,标准,向上,向下
如果他们选择None并且数字是108.7879,我只想显示108.78而没有舍入.我知道我可能会使用Math.Ceil for Up和Math.Floor for Down,但我不知道如何使用None或Standard.
如果他们选择标准:
106.78应该达到107
106.49应该向下舍入到106
如果他们选择Up:
106.49应该达到107
106.52应该达到107
如果他们选择Down:
106.78应该向下舍入到106
106.49应该向下舍入到106
这些是你想要的:
Math.RoundMath.FloorMath.CeilingMath.Round(n, 2)第二个参数指定要舍入的位数所以这段代码:
imports Microsoft.VisualBasic
imports System
public module MyModule
    Sub Main()
        'If they choose Standard:
        Console.WriteLine(Math.Round(106.78) & " should round up to 107")
        Console.WriteLine(Math.Round(106.49 ) & " should round down to 106")
        'If they choose Up:
        Console.WriteLine(Math.Ceiling(106.49) & "  should round up to 107")
        Console.WriteLine(Math.Ceiling(106.52) & "  should round up to 107")
        'If they choose Down:
        Console.WriteLine(Math.Floor(106.78) & "  should round down to 106")    
        Console.WriteLine(Math.Floor(106.49) & "  should round down to 106")
        'If they choose None:
        Console.WriteLine(Math.Round(106.78455, 2) & "  should round down to 106.78")   
        Console.WriteLine(Math.Round(106.49456, 2) & "  should round down to 106.49")
        Console.ReadKey()
    End Sub
end module
将导致此输出:
107 should round up to 107
106 should round down to 106
107  should round up to 107
107  should round up to 107
106  should round down to 106
106  should round down to 106
106.78  should round down to 106.78
106.49  should round down to 106.49