VB.net//如何将一个数字向下四舍五入?

VB.net//如何将一个数字向下四舍五入?,vb.net,Vb.net,例如,我需要将数字43减半为一个整数,但是当我这样做时,它会将21.5四舍五入为22,当我想将它四舍五入为21时。我该怎么做?我正在使用VB.net你试过数学吗。Truncate43.0/2.0?这将除以2,然后删除任何分数,只留下整数部分。另一种方法是43>>1这是一种逻辑右移-最快的方法。43\2这是一个整数除法-第二快。四舍五入到23是正确的。。。但是,从数学上讲,如果您想四舍五入: 示例:WPF Dim a As Integer = 43 Dim b As Integer = CInt(

例如,我需要将数字43减半为一个整数,但是当我这样做时,它会将21.5四舍五入为22,当我想将它四舍五入为21时。我该怎么做?我正在使用VB.net

你试过数学吗。Truncate43.0/2.0?这将除以2,然后删除任何分数,只留下整数部分。

另一种方法是43>>1这是一种逻辑右移-最快的方法。43\2这是一个整数除法-第二快。

四舍五入到23是正确的。。。但是,从数学上讲,如果您想四舍五入:

示例:WPF

Dim a As Integer = 43
Dim b As Integer = CInt(Math.Floor(a / 2))
Label1.Content = b
示例:WinForms

Dim a As Integer = 43
Dim b As Integer = CInt(Math.Floor(a / 2))
Label1.Text= b

对于负数,你希望发生什么?-43/2应该是-21还是-22?还是永远不会是否定的?@Wheatley_boy-欢迎你,别忘了接受答案!