我正在尝试用 C# 制作一个像收银机一样工作的程序,我想让用户输入一个超过 2 位小数的数字 = x.12 可以,但 x.123 不行
感谢您的所有回答。
编辑:代码示例会有很大帮助。我不擅长编程,也不擅长英语。=)
我正在尝试用 C# 制作一个像收银机一样工作的程序,我想让用户输入一个超过 2 位小数的数字 = x.12 可以,但 x.123 不行
感谢您的所有回答。
编辑:代码示例会有很大帮助。我不擅长编程,也不擅长英语。=)
使用 NumericUpDown 控件捕获输入并将其 DecimalPlaces 属性设置为 2。
您可以将小数点四舍五入到两位。
decimal a = 1.994444;
Math.Round(a, 2);
您可以使用正则表达式测试输入。下面的示例要求输入至少包含一位数字,可选地后跟一个小数位,后跟 1 或 2 个额外数字:
string number = "1.23";
bool isMatch = Regex.IsMatch(number, @"^\d+(\.\d{1,2})?$");
您将输入转换为字符串并检查其长度(许多解决方案之一);
例子:
void checkLenghth()
{
decimal value = 2.15;
string stringDecimal = value.ToString();
string[] splitStrings = stringDecimal.Split('.');
if (splitStrings[1] > 3)
MessageBox("Its wrong!");
}
这只是一个方向示例,我并不是说它必须完全像那样实施(对于批评者:))