public override string ToString() { var type = (OriginalType)_data[0]; switch (type) { case OriginalType.SomeInteger: return(_hashCode.ToString()); case OriginalType.SomeFloat: return(NumericValue.ToString(CultureInfo.InvariantCulture)); case OriginalType.Boolean: return((_hashCode != 0).ToString()); case OriginalType.Date: if (_data.Length == 1) //no offset { return(new DateTime(_hashCode).ToString(CultureInfo.InvariantCulture)); } var offset = BitConverter.ToInt64(_data, 1); return(new DateTimeOffset(_hashCode, new TimeSpan(offset)).ToString()); case OriginalType.String: return(StringValue); case OriginalType.Null: return("null"); default: throw new ArgumentOutOfRangeException(); } }
/// <summary>Parses the JToken type and assigns struct values appropriately.</summary> private void ProcessToken(JToken token) { if (token == null) { NumericValue = 1; StringValue = "Unsupported Data Type"; return; } // switch on token type and set the fields appropriately switch (token.Type) { case JTokenType.Integer: NumericValue = token.Value <double>(); StringValue = NumericValue.ToString(_CultureInfo); BooleanValue = Convert.ToBoolean(NumericValue); ArrayValue = null; break; case JTokenType.Float: NumericValue = token.Value <double>(); StringValue = NumericValue.ToString(_CultureInfo); BooleanValue = Convert.ToBoolean(NumericValue); break; case JTokenType.String: NumericValue = 0; StringValue = token.Value <string>(); break; case JTokenType.Array: ProcessArray(token); break; case JTokenType.Boolean: if ((bool)(token) == true) { NumericValue = 1; BooleanValue = true; StringValue = Convert.ToString(BooleanValue); } else { NumericValue = 0; BooleanValue = false; StringValue = Convert.ToString(BooleanValue); } break; case JTokenType.Object: // It is assumed the attribute read was the presentValue ProcessPresentValue(token); break; default: NumericValue = 1; StringValue = "Unsupported Data Type"; break; } }
public void WriteTo(StringBuilder builder, string numericFormat, bool quoteStrings) { builder.Append( FeatureType == FeatureValueType.Numeric ? NumericValue.ToString(numericFormat, CultureInfo.InvariantCulture) : quoteStrings ? "\"" + StringValue + "\"" : StringValue); }
private string GetNumericNumberFormated() { if (NumericType == NumericEntryBehaviorType.Double) { return(NumericValue.ToString(NumericFormat)); } else { return(((int)NumericValue).ToString(NumericFormat)); } }
public override string ToString() { string ans; ans = "Numerical value: " + NumericValue.ToString() + Environment.NewLine + "Floating point value: " + FloatingPointValue.ToString() + Environment.NewLine + "Rational value " + RationalNumeratorValue.ToString() + "/" + RationalDenominatorValue; if (MeasurmentUnitCodeSequence != null) { ans = ans + Environment.NewLine + " Measurement units sequence --> " + Environment.NewLine + MeasurmentUnitCodeSequence.ToString(); } return(ans); }
/// <summary> /// Creates Chromeleon specific formatted data. /// </summary> /// <param name="localize">True to localize display names and values. False otherwise.</param> /// <returns>The string containing a Chromeleon compatible formatted string.</returns> public string CreateFormattedData(bool localize) { var xmlDoc = new XDocument(); var root = new XElement("CmFormattedData"); xmlDoc.Add(root); var deviceObject = CreateObject("Device Properties", "MyDeviceType", "MyDeviceID"); root.Add(deviceObject); if (localize) { var textProperty = CreatePropertyWithValue(Resources.TextPropertyDisplayName, Text); deviceObject.Add(textProperty); } else { var textProperty = CreatePropertyWithValue("Text", Text); deviceObject.Add(textProperty); } if (localize) { var numProperty = CreatePropertyWithValue(Resources.NumericValueDisplayName, NumericValue.ToString(NumberFormatInfo.InvariantInfo)); deviceObject.Add(numProperty); } else { var numProperty = CreatePropertyWithValue("Numerical Value", NumericValue.ToString(NumberFormatInfo.CurrentInfo)); deviceObject.Add(numProperty); } var sb = new StringBuilder(); var settings = new XmlWriterSettings(); settings.Encoding = Encoding.Unicode; using (var writer = XmlWriter.Create(sb, settings)) { xmlDoc.WriteTo(writer); } return(sb.ToString()); }
public String GetSerializedValue() { if (IsListValue == true) { return(System.Text.Json.JsonSerializer.Serialize(Addresses.Select(x => x.Value))); } else { if (IsTextValue == true) { return(System.Text.Json.JsonSerializer.Serialize(SingleValue)); } else if (IsDeviceValue == true) { return(System.Text.Json.JsonSerializer.Serialize(DeviceId)); } else if (IsBooleanValue == true) { return(BooleanValue == true ? "true" : "false"); } else if (IsNumericValue) { return(NumericValue.ToString()); } else if (IsNullableNumericValue == true) { if (NullableNumericValue.HasValue == true) { return(NullableNumericValue.Value.ToString()); } else { return("null"); } } return(String.Empty); } }
public override string ToString() { switch (Type) { case DataType.String: return(StringValue); case DataType.Numeric: return(NumericValue.ToString()); case DataType.Boolean: return(BoolValue.ToString()); case DataType.DateTime: return(DateTimeValue.ToString()); case DataType.TimeSpan: return(TimeSpanValue.ToString()); default: return(""); } }
public string GetNumericString() { return(NumericValue.ToString("D3")); }
public String GetStringValue() { return(NumericValue.ToString()); }
/// <summary> /// Parses the JToken type and assigns values as specified in the MSSDA Bulletin. /// </summary> private void ProcessToken(JToken token) { if (token == null || token["item"] == null || token ["item"][Attribute] == null) { // return unsupported attribute result NumericValue = 1; StringValueEnumerationKey = Unsupported; StringValue = ResourceManager.Localize(StringValueEnumerationKey, _CultureInfo); return; } JToken attributeToken = token["item"][Attribute]; // switch on attributeToken type and set the fields appropriately switch (attributeToken.Type) { case JTokenType.Integer: NumericValue = attributeToken.Value <double>(); StringValue = NumericValue.ToString(_CultureInfo); BooleanValue = Convert.ToBoolean(NumericValue); ArrayValue = null; break; case JTokenType.Float: NumericValue = attributeToken.Value <double>(); StringValue = NumericValue.ToString(_CultureInfo); BooleanValue = Convert.ToBoolean(NumericValue); break; case JTokenType.String: NumericValue = 0; StringValueEnumerationKey = attributeToken.Value <string>(); StringValue = ResourceManager.Localize(StringValueEnumerationKey, _CultureInfo); break; case JTokenType.Array: ProcessArray(attributeToken); break; case JTokenType.Boolean: if ((bool)(attributeToken) == true) { NumericValue = 1; BooleanValue = true; StringValue = Convert.ToString(BooleanValue, _CultureInfo); } else { NumericValue = 0; BooleanValue = false; StringValue = Convert.ToString(BooleanValue, _CultureInfo); } break; case JTokenType.Object: // It is assumed the attribute read was the presentValue if (apiVersion < ApiVersion.v3) { // From v3 onwards presentValue is threated like other attributes and additional information are moved in Condition property. ProcessPresentValue(attributeToken); } break; default: NumericValue = 1; StringValueEnumerationKey = Unsupported; StringValue = ResourceManager.Localize(StringValueEnumerationKey, _CultureInfo); break; } }