备注:《小菜编程成长记》请见cj723.cnblogs.com 作者:程杰
1.计算器
原文:
/// <summary>
/// 检查输入的字符串是否准确
/// </summary>
/// <param name="currentNumber"></param>
/// <param name="inputString"></param>
/// <returns></returns>
public static string checkNumberInput(string currentNumber, string inputString)
{
string result = "";
if (inputString == ".")
{
if (currentNumber.IndexOf(".") < 0)
{
if (currentNumber.Length == 0)
result = "0" + inputString;
else
result = currentNumber + inputString;
}
}
else if (currentNumber == "0")
{
result = inputString;
}
else
{
result = currentNumber + inputString;
}
return result;
}
修正后:
public static string checkNumberInput(string currentNumber, string inputString)
{
string result = "";
if (inputString == ".")
{
if (currentNumber.IndexOf(".") < 0)
{
if (currentNumber.Length == 0)
result = "0" + inputString;
else
result = currentNumber + inputString;
}
else
{
result = currentNumber;
}
}
else if (currentNumber == "0")
{
result = inputString;
}
else
{
result = currentNumber + inputString;
}
return result;
}
修正原因:当已经输入含有小数点的数字时再次输入导致已经输入的数字被清除。此处将之修改为再次输入视为输入无效。