求一算法:在C#中怎么将数字字符串转换为数字?

来源:百度知道 编辑:UC知道 时间:2024/05/22 08:50:10
如题。
因为是求一算法。。
所以大家的代码最好的在性能上和稳定性上都很健壮的。。

C#的。不要C的C我初学,很多代码都看不懂。
大家都没按照我的要求答啊。我又开了一个200分的同样的问题,总共250分,以慰劳大家的辛苦之情。希望大家看照要求答。
另一个问题的地址:http://zhidao.baidu.com/question/42109226.html

/// <summary>
/// 自定义数字解析函数
/// 作者:三角猫
/// 说明:如果输入的字符串为空或非数字开头则返回0,否则返回解析结果
/// </summary>
/// <param name="v">输入的字符串</param>
/// <returns>解析后的结果</returns>
static double CustomNumericParse(string v)
{
if (string.IsNullOrEmpty(v)) return 0d; //如果输入的字符串为空或NULL,则直接返回0
if (!char.IsDigit(v[0])) return 0d; //如果输入的字符串是非数字开头,直接返回0
string subV = string.Empty;
for (int i = 0; i < v.Length; i++)
{
if (char.IsDigit(v[i]) || (v[i].Equals('.') && !subV.Contains("."))) //从左至右,判断字符串的每位字符是否是数字或小数点,小数点只保留第一个
subV += v[i];
else
break;
}

subV.TrimEnd(new char[] { '.' }); // 如果解析后的子字符串的末位是小数点,则去掉它