簡體   English   中英

在哪里可以找到atof的.net實現?

[英]Where can i find a .net implementation of atof?

.net世界中是否存在C語言atof函數的實現? float.Parse的行為不同。

某些行為上的差異。

  • “ 50蘋果”將返回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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM