namespace pv {
namespace util {
-static const QString SIPrefixes[9] =
- {"f", "p", "n", QChar(0x03BC), "m", "", "k", "M", "G"};
-const int FirstSIPrefixPower = -15;
+static const QString SIPrefixes[17] =
+ {"y", "z", "a", "f", "p", "n", QChar(0x03BC), "m", "", "k", "M", "G",
+ "T", "P", "E", "Z", "Y"};
+const int FirstSIPrefixPower = -24;
QString format_si_value(double v, QString unit, int prefix,
unsigned int precision, bool sign)
}
assert(prefix >= 0);
- assert(prefix < countof(SIPrefixes));
+ assert(prefix < (int)countof(SIPrefixes));
const double multiplier = pow(10.0,
(int)- prefix * 3 - FirstSIPrefixPower);
QTextStream ts(&s);
if (sign)
ts << forcesign;
- ts << fixed << qSetRealNumberPrecision(precision)
- << (v * multiplier) << SIPrefixes[prefix] << unit;
+ ts << fixed << qSetRealNumberPrecision(precision) <<
+ (v * multiplier) << " " << SIPrefixes[prefix] << unit;
return s;
}