Add more units for formatting
This commit is contained in:
1 parent
ed523e0f49
commit
d24121639a
1 file changed
+13
-4
@@ -16,14 +16,23 @@ std::string format_with_commas(long long number) {
|
||||
|
||||
std::string format_large_number(double number) {
|
||||
std::ostringstream oss;
|
||||
if (number >= 1'000'000'000) {
|
||||
oss << std::fixed << std::setprecision(3) << (number / 1'000'000'000.0) << "B";
|
||||
if (number >= 1'000'000'000'000'000'000) {
|
||||
oss << std::fixed << std::setprecision(3) << (number / 1'000'000'000'000'000'000.0) << "Sp"; // septillion, anything past this is just wild
|
||||
}
|
||||
else if (number >= 1'000'000'000'000'000) {
|
||||
oss << std::fixed << std::setprecision(3) << (number / 1'000'000'000'000'000.0) << "Sx"; // sextillion
|
||||
}
|
||||
else if (number >= 1'000'000'000'000) {
|
||||
oss << std::fixed << std::setprecision(3) << (number / 1'000'000'000'000.0) << "Qn"; // quintillion
|
||||
}
|
||||
else if (number >= 1'000'000'000) {
|
||||
oss << std::fixed << std::setprecision(3) << (number / 1'000'000'000.0) << "T"; // trillion
|
||||
}
|
||||
else if (number >= 1'000'000) {
|
||||
oss << std::fixed << std::setprecision(3) << (number / 1'000'000.0) << "M";
|
||||
oss << std::fixed << std::setprecision(3) << (number / 1'000'000.0) << "M"; // million
|
||||
}
|
||||
else if (number >= 1'000) {
|
||||
oss << std::fixed << std::setprecision(3) << (number / 1'000.0) << "K";
|
||||
oss << std::fixed << std::setprecision(3) << (number / 1'000.0) << "K"; // thousand
|
||||
}
|
||||
else {
|
||||
oss << format_with_commas(static_cast<long long>(number));
|
||||
|
||||
Reference in new issue
Block a user