public void Parse(string data, Log log) { if (data.IndexOf(':') > 0) { _RangeType = RangeTypeT.Continuous; log.AddMsg("Number type : Continuous range"); int opPos = data.IndexOf(':'); val1 = StringToFloat(data.Substring(0, opPos)); val2 = StringToFloat(data.Substring(opPos + 1)); log.AddMsg("Val1 : " + val1.ToString(CultureInfo.InvariantCulture)); log.AddMsg("Val2 : " + val2.ToString(CultureInfo.InvariantCulture)); } else if (data.IndexOf('|') > 0) { _RangeType = RangeTypeT.Binary; log.AddMsg("Number type : Binary Option"); int opPos = data.IndexOf('|'); val1 = StringToFloat(data.Substring(0, opPos)); val2 = StringToFloat(data.Substring(opPos + 1)); log.AddMsg("Val1 : " + val1.ToString(CultureInfo.InvariantCulture)); log.AddMsg("Val2 : " + val2.ToString(CultureInfo.InvariantCulture)); } else { _RangeType = RangeTypeT.Single; log.AddMsg("Number type : Single Value"); val1 = StringToFloat(data); log.AddMsg("Val1 : " + val1.ToString(CultureInfo.InvariantCulture)); } }
public void Parse(ref string[] program) { string data = ParseUtils.GetToken(ref program); // deal with -ve numbers (bit hacky, but keeps the token parser state free) if (data.Length == 1 && data[0] == '-') { data += ParseUtils.GetToken(ref program); } if (data.IndexOf(':') > 0) { _RangeType = RangeTypeT.Continuous; WooScript._Log.AddMsg("Number type : Continuous range"); int opPos = data.IndexOf(':'); val1 = StringToFloat(data.Substring(0, opPos)); val2 = StringToFloat(data.Substring(opPos + 1)); WooScript._Log.AddMsg("Val1 : " + val1.ToString(CultureInfo.InvariantCulture)); WooScript._Log.AddMsg("Val2 : " + val2.ToString(CultureInfo.InvariantCulture)); } else if (data.IndexOf('|') > 0) { _RangeType = RangeTypeT.Binary; WooScript._Log.AddMsg("Number type : Binary Option"); int opPos = data.IndexOf('|'); val1 = StringToFloat(data.Substring(0, opPos)); val2 = StringToFloat(data.Substring(opPos + 1)); WooScript._Log.AddMsg("Val1 : " + val1.ToString(CultureInfo.InvariantCulture)); WooScript._Log.AddMsg("Val2 : " + val2.ToString(CultureInfo.InvariantCulture)); } else { _RangeType = RangeTypeT.Single; WooScript._Log.AddMsg("Number type : Single Value"); val1 = StringToFloat(data); WooScript._Log.AddMsg("Val1 : " + val1.ToString(CultureInfo.InvariantCulture)); } }