/* * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. */ #include "FloatValue.h" #include FloatValue::FloatValue(const BVariant& value) : fValue(value) { } FloatValue::~FloatValue() { } bool FloatValue::ToString(BString& _string) const { char buffer[128]; switch (fValue.Type()) { case B_FLOAT_TYPE: { snprintf(buffer, sizeof(buffer), "%f", fValue.ToFloat()); break; } case B_DOUBLE_TYPE: { snprintf(buffer, sizeof(buffer), "%g", fValue.ToDouble()); break; } default: return false; } BString string(buffer); if (string.Length() == 0) return false; _string = string; return true; } bool FloatValue::ToVariant(BVariant& _value) const { _value = fValue; return true; } bool FloatValue::operator==(const Value& other) const { const FloatValue* otherFloat = dynamic_cast(&other); return otherFloat != NULL ? fValue == otherFloat->fValue : false; }