CssNumberToken
Represents a CSS number token.
using AngleSharp.Dom.Css;
using System.Globalization;
namespace AngleSharp.Parser.Css
{
internal sealed class CssNumberToken : CssToken
{
private static readonly char[] floatIndicators = new char[3] {
'.',
'e',
'E'
};
public bool IsInteger => base.Data.IndexOfAny(floatIndicators) == -1;
public float Value => float.Parse(base.Data, CultureInfo.InvariantCulture);
public CssNumberToken(string number)
: base(CssTokenType.Number, number)
{
}
public Number ToNumber()
{
float value = Value;
if (value == 0)
return Number.Zero;
Number.Unit unit = (!IsInteger) ? Number.Unit.Float : Number.Unit.Integer;
return new Number(value, unit);
}
}
}