textBox1.Text
textBox2.Text
怎么有两个东西呀
textBox2.Text
怎么有两个东西呀
程序代码:
//假设 input 输入的字符串为 "abcs557898"
//那么需要截取出来的就是 "557898"
count = input.Length; //储存输入的字符串总长度,等于 10
if(count < 6) //输入长度不够 6 个,直接退出
return null;
else{
//输入长度超过6个,开始从末尾往前找出数字来
string temp = " "; //新建个临时字符串用来存放找出来的数据,其内容为 6 个空格
offset = 6 - 1; //偏移指针指向临时字符串的最后一位
for(int i = count - 1; i > -1; i = i - 1){
//从 input 字符串末尾往前数。count - 1 = 9,即从最后一个字符 8 开始。
if(char.IsDigit(input[i])){ //判断当前字符是否为数字0-9。这里如果加上 "|| input[i] == '.'" 就可以支持小数点了
//是数字,添加到临时字符串中(由偏移指针决定插入位置)
temp[offset] = input[i];
//偏移指针前移
offset = offset - 1;
if(offset < 0){
//判断,如果偏移到了 -1,说明 temp 的 6 位数已经填满了,可以直接进入下一步
break; //退出 for 循环
}
}
else{
//如果 input[i] 不是数字,则表示无数字可填,同样,退出 for
break;
}
}
//for 循环完成后,temp 中存放的是“557898”,这是我们想要的。
//但是如果输入的数字位数不够 6 位,比如“abcs123”,那么会因为 input[i]不是数字而中途退出 for,
//此时 temp 中存放的是“ 123”,3 个空格加“123”
//需要去掉可能的空格。“123456”处理后仍是“123456”;“ 123”空格加 123 处理后,则变成“123”
//如果只能输入标准的 6 位数,那么显然“123”是错误的
//比较处理前和处理后的字符串长度,如果不相等,说明不是 6 位,报错
if(temp.Length != temp.Trim().Length){
return null;
}
else{
//相等,说明 temp 是我们要的,
return temp;
//打完收工
}
}