gpt4 book ai didi

.net - 在哪里可以找到 atof 的 .net 实现?

转载 作者:行者123 更新时间:2023-12-02 08:59:38 26 4
gpt4 key购买 nike

.net世界里有c语言的atof函数的实现吗? float.Parse 的行为不同。

一些行为差异。

  • “50 Apple”将返回 50。
  • “50 Apple.1”将返回 50。
  • “Apple”将返回 0。

最佳答案

如果您想复制 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;
}

关于.net - 在哪里可以找到 atof 的 .net 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2253653/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com