From 3e0d318a485dc63e4621a41e7bd4e0cb9a4c82e6 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sun, 24 Feb 2019 03:13:11 +0100 Subject: [PATCH] Ref T554, PQ "valueRoundedAsString" --- src/blackmisc/pq/physicalquantity.cpp | 7 +++++++ src/blackmisc/pq/physicalquantity.h | 12 ++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/blackmisc/pq/physicalquantity.cpp b/src/blackmisc/pq/physicalquantity.cpp index cf9af2895..3cc1a2164 100644 --- a/src/blackmisc/pq/physicalquantity.cpp +++ b/src/blackmisc/pq/physicalquantity.cpp @@ -370,6 +370,13 @@ namespace BlackMisc return this->valueRounded(m_unit, digits); } + template + QString CPhysicalQuantity::valueRoundedAsString(MU unit, int digits) const + { + const double v = this->valueRounded(unit, digits); + return QString::number(v, 'f', digits); + } + template double CPhysicalQuantity::value(MU unit) const { diff --git a/src/blackmisc/pq/physicalquantity.h b/src/blackmisc/pq/physicalquantity.h index 633419305..7fe99a811 100644 --- a/src/blackmisc/pq/physicalquantity.h +++ b/src/blackmisc/pq/physicalquantity.h @@ -102,10 +102,6 @@ namespace BlackMisc //! Set value in current unit void setCurrentUnitValue(double value); - //! Rounded value in given unit - //! \note default digits is CMeasurementUnit::getDisplayDigits - double valueRounded(MU unit, int digits = -1) const; - //! As integer value int valueInteger(MU unit) const; @@ -115,10 +111,18 @@ namespace BlackMisc //! Is value an integer bool isInteger() const; + //! Rounded value in given unit + //! \note default digits is CMeasurementUnit::getDisplayDigits + double valueRounded(MU unit, int digits = -1) const; + //! Rounded value in current unit //! \note default digits is CMeasurementUnit::getDisplayDigits double valueRounded(int digits = -1) const; + //! Rounded value in given unit + //! \note default digits is CMeasurementUnit::getDisplayDigits + QString valueRoundedAsString(MU unit, int digits = -1) const; + //! Value to QString with the given unit, e.g. "5.00m" //! \note default digits is CMeasurementUnit::getDisplayDigits QString valueRoundedWithUnit(const MU &unit, int digits = -1, bool withGroupSeparator = false, bool i18n = false) const;