如何在VB.NET中舍入到任意数量的小数(即从3.32到3.30)?

时间:2013-12-03 18:34:03

标签: vb.net rounding

如果我想要回合3.32到3.30和3.38到3.40,我该怎么做?

我试过了math.round(),但我做不到。

4 个答案:

答案 0 :(得分:1)

您可能在VB.NET中寻找Math.Round Method

  

将值舍入为最接近的整数或指定的数字   小数位数。

试试这样:

Math.Round(3.32, 1)

或者这个:

Math.Round(3.32, 1, MidpointRounding.AwayFromZero) 
Math.Round(3.38, 1, MidpointRounding.AwayFromZero)

答案 1 :(得分:1)

您可以在Math.Round例程(重载)中指定有效数字的数量。我习惯了C#,但VB.NET语法应该是这样的:

Math.Round(3.44, 1)

有关详细信息,请参阅“http://msdn.microsoft.com/en-us/library/aa340228(v=vs.71).aspx”。

答案 2 :(得分:1)

添加到以前的解决方案,要获得两位正确的十进制值,请使用:

FormatNumber((Math.Round(3.32, 1, MidpointRounding.AwayFromZero)), 2) 
' Returns 3.30

FormatNumber((Math.Round(3.38, 1, MidpointRounding.AwayFromZero)), 2) 
' Returns 3.40

答案 3 :(得分:0)

像这样:

Math.Round(3.32, 1, MidpointRounding.AwayFromZero)  ' Returns 3.3
Math.Round(3.38, 1, MidpointRounding.AwayFromZero)  ' Returns 3.4

第一个参数是要舍入的数字。第二个参数指定要在小数点后舍入的位数。第三个参数指定您希望使用标准偏离零的舍入而不是银行家四舍五入。)