public bool ToBoolean() { switch (type) { case JsonValueType.Bool: return(boolValue); case JsonValueType.Integer: return(integerValue != 0); case JsonValueType.Real: return(NumberHelpers.Approximately(0, realValue)); case JsonValueType.String: return(Convert.ToBoolean(ToString())); } return(default);
/// <summary> /// Convert the value to a boolean. /// </summary> /// <param name="provider">Ignored.</param> /// <returns>Converted boolean value.</returns> public bool ToBoolean(IFormatProvider provider = null) { switch (type) { case TypeCode.Boolean: return(m_BoolValue); case TypeCode.Char: return(m_CharValue != default); case TypeCode.Byte: return(m_ByteValue != default); case TypeCode.SByte: return(m_SByteValue != default); case TypeCode.Int16: return(m_ShortValue != default); case TypeCode.UInt16: return(m_UShortValue != default); case TypeCode.Int32: return(m_IntValue != default); case TypeCode.UInt32: return(m_UIntValue != default); case TypeCode.Int64: return(m_LongValue != default); case TypeCode.UInt64: return(m_ULongValue != default); case TypeCode.Single: return(!Mathf.Approximately(m_FloatValue, default)); case TypeCode.Double: return(NumberHelpers.Approximately(m_DoubleValue, default)); default: return(default); } }