static private TryStringToNumber ( string str, NumberStyles options, NumberBuffer &number, System.StringBuilder sb, |
||
str | string | |
options | NumberStyles | |
number | NumberBuffer | |
sb | System.StringBuilder | |
numfmt | ||
parseDecimal | bool | |
return | bool |
internal unsafe static bool TryStringToNumber(string str, NumberStyles options, ref NumberBuffer number, StringBuilder sb, NumberFormatInfo numfmt, bool parseDecimal)
{
if (str == null)
{
return false;
}
Debug.Assert(numfmt != null);
fixed (char* stringPointer = str)
{
char* p = stringPointer;
if (!ParseNumber(ref p, options, ref number, sb, numfmt, parseDecimal)
|| (p - stringPointer < str.Length && !TrailingZeros(str, (int)(p - stringPointer))))
{
return false;
}
}
return true;
}