ATMLModelLibrary.model.Quantity.InitQuantity C# (CSharp) Method

InitQuantity() private method

private InitQuantity ( string value, string &remainder ) : void
value string
remainder string
return void
        private void InitQuantity(string value, out string remainder)
        {
            var number = new StringBuilder();
            var unit = new StringBuilder();
            string nextWord = Physical.NextWord(value, out remainder).Trim();
            if (!double.TryParse(nextWord, out _value))
            {
                foreach (char c in nextWord)
                {
                    if (Char.IsNumber(c) || c == PLUS[0] || c == MINUS[0] || c == DECIMAL[0])
                        number.Append(c);
                    else
                        unit.Append(c);
                }
                double.TryParse(number.ToString(), out _value);
            }
            else
            {
                unit.Append(Physical.NextWord(remainder, out remainder));
            }

            _unit = new StandardUnit(unit.ToString());
            _unit.ValueChanged += _unit_ValueChanged;
        }