QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
QGCFormat.cc
Go to the documentation of this file.
1#include "QGCFormat.h"
2
3#include <QtCore/QLocale>
4#include <QtCore/QString>
5
6namespace QGC {
7
8namespace {
9constexpr quint64 kKB = 1024ULL;
10constexpr quint64 kMB = kKB * 1024ULL;
11constexpr quint64 kGB = kMB * 1024ULL;
12constexpr quint64 kTB = kGB * 1024ULL;
13} // namespace
14
15QString numberToString(quint64 number)
16{
17 return QLocale().toString(number);
18}
19
20QString bigSizeToString(quint64 size)
21{
22 const QLocale locale;
23 if (size < kKB) {
24 return locale.toString(size) + QStringLiteral("B");
25 }
26 if (size < kMB) {
27 return locale.toString(static_cast<double>(size) / kKB, 'f', 1) + QStringLiteral("KB");
28 }
29 if (size < kGB) {
30 return locale.toString(static_cast<double>(size) / kMB, 'f', 1) + QStringLiteral("MB");
31 }
32 if (size < kTB) {
33 return locale.toString(static_cast<double>(size) / kGB, 'f', 1) + QStringLiteral("GB");
34 }
35 return locale.toString(static_cast<double>(size) / kTB, 'f', 1) + QStringLiteral("TB");
36}
37
38QString bigSizeMBToString(quint64 sizeMB)
39{
40 const QLocale locale;
41 if (sizeMB < kKB) {
42 return locale.toString(static_cast<double>(sizeMB), 'f', 0) + QStringLiteral(" MB");
43 }
44 if (sizeMB < kMB) {
45 return locale.toString(static_cast<double>(sizeMB) / kKB, 'f', 1) + QStringLiteral(" GB");
46 }
47 return locale.toString(static_cast<double>(sizeMB) / kMB, 'f', 2) + QStringLiteral(" TB");
48}
49
50}
QString numberToString(quint64 number)
Decimal integer (e.g. "1,234,567").
Definition QGCFormat.cc:15
QString bigSizeToString(quint64 size)
Byte size with unit: B, KB, MB, GB, TB. 1 fractional digit above 1 KB.
Definition QGCFormat.cc:20
QString bigSizeMBToString(quint64 sizeMB)
MB-scaled size, output in MB/GB/TB. Input is in MB.
Definition QGCFormat.cc:38