public bool TryGetDoubleValue (Token token, out double value) { string s = GetStringValue (token); return double.TryParse (s, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out value); }
static bool TryParseElement(Lexer lexer, out StringWithQualityHeaderValue parsedValue, out Token t) { parsedValue = null; t = lexer.Scan(); if (t != Token.Type.Token) { return(false); } var value = new StringWithQualityHeaderValue(); value.Value = lexer.GetStringValue(t); t = lexer.Scan(); if (t == Token.Type.SeparatorSemicolon) { t = lexer.Scan(); if (t != Token.Type.Token) { return(false); } var s = lexer.GetStringValue(t); if (s != "q" && s != "Q") { return(false); } t = lexer.Scan(); if (t != Token.Type.SeparatorEqual) { return(false); } t = lexer.Scan(); double d; if (!lexer.TryGetDoubleValue(t, out d)) { return(false); } if (d > 1) { return(false); } value.Quality = d; t = lexer.Scan(); } parsedValue = value; return(true); }