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;
}