10 using namespace swift::misc::math;
12 namespace swift::misc::physical_quantities
16 if (this->isNull() || unit.
isNull())
return 0;
19 return m_data->m_fromDefault(unit.m_data->
m_toDefault(value));
22 QString CMeasurementUnit::makeRoundedQStringWithUnit(
double value,
int digits,
bool withGroupSeparator,
25 return this->makeRoundedQString(value, digits, withGroupSeparator).append(this->getSymbol(i18n));
28 double CMeasurementUnit::roundValue(
double value,
int digits)
const
30 if (digits < 0) { digits = m_data->m_displayDigits; }
34 double CMeasurementUnit::roundToEpsilon(
double value)
const
36 if (qFuzzyIsNull(getEpsilon()) || this->isNull()) {
return value; }
40 QString CMeasurementUnit::makeRoundedQString(
double value,
int digits,
bool withGroupSeparator,
bool i18n)
const
43 if (digits < 0) { digits = m_data->m_displayDigits; }
47 static const QLocale localeWithoutSeparator = [] {
48 QLocale q = QLocale::system();
49 q.setNumberOptions(QLocale::OmitGroupSeparator);
53 const QString s = (withGroupSeparator ? QLocale::system() : localeWithoutSeparator).toString(v,
'f', digits);
static double round(double value, int digits)
Utility round method.
static double roundEpsilon(double value, double epsilon)
Round by given epsilon.
Base class for all units, such as meter, hertz.
bool isNull() const
Is unit null?
ConverterFunction m_toDefault
convert from this unit to default unit
ConverterFunction m_fromDefault
convert to this unit from default unit