C#的新手,并在第一次尝试使用Round方法时遇到此编译错误。有任何想法吗?感谢:
private void totalPoundsTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
TextBox textBox = textBoxes[1];
decimal numericValue = textBoxNumberCheck(textBox, 0M, 22046M,false);
if (numericValue >= 0)
***weight.Kilos = decimal.Round(numericValue / 2.2046M, 2, MidpointRounding.AwayFromZero);***
UpdateBoxValues();
}
答案 0 :(得分:8)
我敢打赌你有2.0之前的.Net Core项目版本。在2.0之前的.Net Core中缺少Decimal.Round()
方法但现在可用。请查看此issue了解详细信息。
因此,您可以通过升级到.Net Core 2.0或使用Sunil建议的Math.Round()
来解决您的问题。
答案 1 :(得分:2)
改为使用Math.Round
:
private void totalPoundsTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
TextBox textBox = textBoxes[1];
decimal numericValue = textBoxNumberCheck(textBox, 0M, 22046M,false);
if (numericValue >= 0)
weight.Kilos = Math.Round(numericValue / 2.2046M, 2, MidpointRounding.AwayFromZero);
UpdateBoxValues();
}
答案 2 :(得分:1)
请改用Math.Round。
weight.Kilos = Math.Round(numericValue / 2.2046, 2, MidpointRounding.AwayFromZero);