在.net世界中是否有c语言的atof功能的实现?float.Parse的行为不一样.
一些行为差异.
如果你的意思是要复制atof宽大(忽略前面的空格和尾随非数字字符),你可以这样做(假设C#3.0):
float myAtof(string myString)
{
Predicate<char> testChar = c => c == '.' ||
c == '-' ||
c == '+' ||
char.IsDigit(c);
myString = new string(myString.Trim().TakeWhile(testChar).ToArray());
if (myString.Length > 0)
{
float rvl;
// accounts for bogus strings of valid chars, e.g. ".-":
if (float.TryParse(myString, out rvl))
{
return rvl;
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
839 次 |
| 最近记录: |