-4

我正在尝试用 C# 制作一个像收银机一样工作的程序,我想让用户输入一个超过 2 位小数的数字 = x.12 可以,但 x.123 不行

感谢您的所有回答。

编辑:代码示例会有很大帮助。我不擅长编程,也不擅长英语。=)

4

4 回答 4

1

使用 NumericUpDown 控件捕获输入并将其 DecimalPlaces 属性设置为 2。

于 2012-09-10T12:00:08.173 回答
1

您可以将小数点四舍五入到两位。

decimal a = 1.994444;

Math.Round(a, 2);
于 2012-09-10T12:02:36.133 回答
0

您可以使用正则表达式测试输入。下面的示例要求输入至少包含一位数字,可选地后跟一个小数位,后跟 1 或 2 个额外数字:

string number = "1.23";
bool isMatch = Regex.IsMatch(number, @"^\d+(\.\d{1,2})?$");
于 2012-09-11T00:30:56.267 回答
0

您将输入转换为字符串并检查其长度(许多解决方案之一);

例子:

void checkLenghth()
{
    decimal value = 2.15;
    string stringDecimal = value.ToString();
    string[] splitStrings = stringDecimal.Split('.');
    if (splitStrings[1] > 3)
    MessageBox("Its wrong!"); 
}

这只是一个方向示例,我并不是说它必须完全像那样实施(对于批评者:))

于 2012-09-10T12:01:35.780 回答