File tree Expand file tree Collapse file tree 1 file changed +13
-4
lines changed
Expand file tree Collapse file tree 1 file changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -16,14 +16,23 @@ std::string format_with_commas(long long number) {
1616
1717std::string format_large_number (double number) {
1818 std::ostringstream oss;
19- if (number >= 1'000'000'000 ) {
20- oss << std::fixed << std::setprecision (3 ) << (number / 1'000'000'000.0 ) << " B" ;
19+ if (number >= 1'000'000'000'000'000'000 ) {
20+ oss << std::fixed << std::setprecision (3 ) << (number / 1'000'000'000'000'000'000.0 ) << " Sp" ; // septillion, anything past this is just wild
21+ }
22+ else if (number >= 1'000'000'000'000'000 ) {
23+ oss << std::fixed << std::setprecision (3 ) << (number / 1'000'000'000'000'000.0 ) << " Sx" ; // sextillion
24+ }
25+ else if (number >= 1'000'000'000'000 ) {
26+ oss << std::fixed << std::setprecision (3 ) << (number / 1'000'000'000'000.0 ) << " Qn" ; // quintillion
27+ }
28+ else if (number >= 1'000'000'000 ) {
29+ oss << std::fixed << std::setprecision (3 ) << (number / 1'000'000'000.0 ) << " T" ; // trillion
2130 }
2231 else if (number >= 1'000'000 ) {
23- oss << std::fixed << std::setprecision (3 ) << (number / 1'000'000.0 ) << " M" ;
32+ oss << std::fixed << std::setprecision (3 ) << (number / 1'000'000.0 ) << " M" ; // million
2433 }
2534 else if (number >= 1'000 ) {
26- oss << std::fixed << std::setprecision (3 ) << (number / 1'000.0 ) << " K" ;
35+ oss << std::fixed << std::setprecision (3 ) << (number / 1'000.0 ) << " K" ; // thousand
2736 }
2837 else {
2938 oss << format_with_commas (static_cast <long long >(number));
You can’t perform that action at this time.
0 commit comments