Ejemplo n.º 1
0
        public static bool TryParseNumberOrPercentage(string numberOrPercentageText, out float result)
        {
            var ptr = new StringPtr(numberOrPercentageText);

            ptr.AdvanceNumber();

            var percentage = false;

            if (!ptr.IsEnd && ptr.Char == '%')
            {
                percentage = true;
                ++ptr;
            }
            if (ptr.Index != numberOrPercentageText.Length)
            {
                result = 0.0F;
                return(false);
            }

            if (percentage)
            {
                numberOrPercentageText = numberOrPercentageText.Substring(0, numberOrPercentageText.Length - 1);
            }
            result = float.Parse(numberOrPercentageText, System.Globalization.CultureInfo.InvariantCulture);
            if (percentage)
            {
                result /= 100.0F;
            }
            return(true);
        }
Ejemplo n.º 2
0
		internal static bool TryParse(string numberText, float min, float max, out SvgNumber result)
		{
			var ptr = new StringPtr(numberText);
			ptr.AdvanceNumber();
			if (ptr.Index != numberText.Length)
			{
				result = 0.0F;
				return false;
			}

			result = Math.Min(Math.Max(float.Parse(numberText), min), max);
			return true;
		}
Ejemplo n.º 3
0
		internal static bool TryParse(string numberText, out SvgNumber result)
		{
			var ptr = new StringPtr(numberText);
			ptr.AdvanceNumber();
			if (ptr.Index != numberText.Length)
			{
				result = 0.0F;
				return false;
			}

			result = float.Parse(numberText, System.Globalization.CultureInfo.InvariantCulture);
			return true;
		}
Ejemplo n.º 4
0
        private float?ParseNumber(StringPtr ptr)
        {
            var begin = ptr.Index;

            ptr.AdvanceNumber();
            if (begin == ptr.Index)
            {
                return(null);
            }

            var numberText = ptr.Target.Substring(begin, ptr.Index - begin);

            return(float.Parse(numberText, System.Globalization.CultureInfo.InvariantCulture));
        }
Ejemplo n.º 5
0
		public static bool TryParseNumberOrPercentage(string numberOrPercentageText, out float result)
		{
			var ptr = new StringPtr(numberOrPercentageText);
			ptr.AdvanceNumber();

			var percentage = false;
			if (!ptr.IsEnd && ptr.Char == '%')
			{
				percentage = true;
				++ptr;
			}
			if (ptr.Index != numberOrPercentageText.Length)
			{
				result = 0.0F;
				return false;
			}

			if (percentage) numberOrPercentageText = numberOrPercentageText.Substring(0, numberOrPercentageText.Length - 1);
			result = float.Parse(numberOrPercentageText, System.Globalization.CultureInfo.InvariantCulture);
			if (percentage) result /= 100.0F;
			return true;
		}
Ejemplo n.º 6
0
		private float? ParseNumber(StringPtr ptr)
		{
			var begin = ptr.Index;
			ptr.AdvanceNumber();
			if (begin == ptr.Index) return null;

			var numberText = ptr.Target.Substring(begin, ptr.Index - begin);
			return float.Parse(numberText, System.Globalization.CultureInfo.InvariantCulture);
		}