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