fork(1) download
  1. <?php
  2.  
  3. function formatFloat($value)
  4. {
  5. $phpPrecision = 14;
  6.  
  7. if ($value == 0.0) return '0.0';
  8.  
  9. if (log10(abs($value)) < $phpPrecision) {
  10.  
  11. $decimalDigits = max(
  12. ($phpPrecision - 1) - floor(log10(abs($value))),
  13. 0
  14. );
  15.  
  16. $formatted = number_format($value, $decimalDigits);
  17.  
  18. // Trim excess 0's
  19. $formatted = preg_replace('/(\.[0-9]+?)0*$/', '$1', $formatted);
  20.  
  21. return $formatted;
  22.  
  23. }
  24.  
  25. $formattedWithoutCommas = number_format($value, 0, '.', '');
  26.  
  27. $sign = (strpos($formattedWithoutCommas, '-') === 0) ? '-' : '';
  28.  
  29. // Extract the unsigned integer part of the number
  30. preg_match('/^-?(\d+)(\.\d+)?$/', $formattedWithoutCommas, $components);
  31. $integerPart = $components[1];
  32.  
  33. // Split into significant and insignificant digits
  34. $significantDigits = substr($integerPart, 0, $phpPrecision);
  35. $insignificantDigits = substr($integerPart, $phpPrecision);
  36.  
  37. // Round the significant digits (using the insignificant digits)
  38. $fractionForRounding = (float) ('0.' . $insignificantDigits);
  39. $rounding = (int) round($fractionForRounding); // Either 0 or 1
  40. $rounded = $significantDigits + $rounding;
  41.  
  42. // Pad on the right with zeros
  43. $formattingString = '%0-' . strlen($integerPart) . 's';
  44. $formatted = sprintf($formattingString, $rounded);
  45.  
  46. // Insert a comma between every group of thousands
  47. $formattedWithCommas = strrev(
  48. strrev($formatted), 3, ','
  49. ),
  50. ','
  51. )
  52. );
  53.  
  54. return $sign . $formattedWithCommas;
  55. }
  56.  
  57. $randomFloats = array();
  58.  
  59. for ($i = 0; $i < 500; $i++) {
  60. $float = mt_rand() / mt_getrandmax();
  61. $float = round($float, mt_rand(0, 15));
  62. $float *= pow(10, mt_rand(-25, 25));
  63. if (mt_rand() / mt_getrandmax() > 0.5) {
  64. $float *= -1.0;
  65. }
  66. $randomFloats[] = $float;
  67. }
  68.  
  69. sort($randomFloats);
  70.  
  71. foreach ($randomFloats as $float) {
  72. echo sprintf('%20s', $float) . " --> " . formatFloat($float) . "\n";
  73. }
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
       -8.828034E+24 --> -8,828,034,000,000,000,000,000,000
            -8.0E+24 --> -8,000,000,000,000,000,000,000,000
          -6.732E+24 --> -6,732,000,000,000,000,000,000,000
      -4.7991493E+24 --> -4,799,149,300,000,000,000,000,000
   -9.3631790343E+23 --> -936,317,903,430,000,000,000,000
 -6.104912038941E+23 --> -610,491,203,894,100,000,000,000
     -4.95588783E+23 --> -495,588,783,000,000,000,000,000
     -8.70914571E+22 --> -87,091,457,100,000,000,000,000
-8.5120318683386E+22 --> -85,120,318,683,386,000,000,000
-8.4829701615884E+22 --> -84,829,701,615,884,000,000,000
     -5.23168864E+22 --> -52,316,886,400,000,000,000,000
-5.2114676149615E+22 --> -52,114,676,149,615,000,000,000
            -5.0E+22 --> -50,000,000,000,000,000,000,000
    -1.596368976E+22 --> -15,963,689,760,000,000,000,000
            -1.5E+22 --> -15,000,000,000,000,000,000,000
            -1.0E+22 --> -10,000,000,000,000,000,000,000
    -4.780802976E+21 --> -4,780,802,976,000,000,000,000
-4.2085407647344E+21 --> -4,208,540,764,734,400,000,000
          -3.179E+21 --> -3,179,000,000,000,000,000,000
            -3.0E+21 --> -3,000,000,000,000,000,000,000
          -6.283E+20 --> -628,300,000,000,000,000,000
     -3.85998303E+20 --> -385,998,303,000,000,000,000
-5.3117523460238E+19 --> -53,117,523,460,238,000,000
            -1.0E+19 --> -10,000,000,000,000,000,000
        -8.96047E+18 --> -8,960,470,000,000,000,000
         -7.6778E+18 --> -7,677,800,000,000,000,000
 -5.415550337832E+18 --> -5,415,550,337,832,000,000
  -2.17118271728E+18 --> -2,171,182,717,280,000,000
-9.1668598722512E+17 --> -916,685,987,225,120,000
-5.6857038688314E+17 --> -568,570,386,883,140,000
       -2.269311E+17 --> -226,931,100,000,000,000
         -2.0283E+17 --> -202,830,000,000,000,000
   -1.8978232853E+17 --> -189,782,328,530,000,000
-9.6573516538634E+16 --> -96,573,516,538,634,000
            -9.0E+15 --> -9,000,000,000,000,000
     -5.83275242E+15 --> -5,832,752,420,000,000
       -5.297396E+15 --> -5,297,396,000,000,000
            -2.6E+15 --> -2,600,000,000,000,000
     -2.04019346E+15 --> -2,040,193,460,000,000
            -1.9E+15 --> -1,900,000,000,000,000
  -9.15077539121E+14 --> -915,077,539,121,000
           -5.05E+14 --> -505,000,000,000,000
-4.1445683055299E+14 --> -414,456,830,552,990
   -3.1579202242E+14 --> -315,792,022,420,000
         -2.8162E+14 --> -281,620,000,000,000
     -1.85194085E+14 --> -185,194,085,000,000
     -97577670000000 --> -97,577,670,000,000
     -96900000000000 --> -96,900,000,000,000
     -86168083728369 --> -86,168,083,728,369
     -67084540000000 --> -67,084,540,000,000
     -61000000000000 --> -61,000,000,000,000
     -20000000000000 --> -20,000,000,000,000
     -10000000000000 --> -10,000,000,000,000
      -7180800000000 --> -7,180,800,000,000.0
      -2671000000000 --> -2,671,000,000,000.0
      -2011420196900 --> -2,011,420,196,900.0
      -1950894000000 --> -1,950,894,000,000.0
       -893909800000 --> -893,909,800,000.0
       -515436081921 --> -515,436,081,921.0
    -174451131454.88 --> -174,451,131,454.88
       -137500000000 --> -137,500,000,000.0
      -82239575582.7 --> -82,239,575,582.7
      -64731294691.9 --> -64,731,294,691.9
        -58510000000 --> -58,510,000,000.0
        -53820000000 --> -53,820,000,000.0
        -21374000000 --> -21,374,000,000.0
         -9200000000 --> -9,200,000,000.0
      -7031842650.39 --> -7,031,842,650.39
    -5599199247.3599 --> -5,599,199,247.3599
          -813931800 --> -813,931,800.0
          -567365233 --> -567,365,233.0
          -172054100 --> -172,054,100.0
       -96169015.065 --> -96,169,015.065
           -50000000 --> -50,000,000.0
           -45300000 --> -45,300,000.0
    -38986445.143347 --> -38,986,445.143347
        -9426383.502 --> -9,426,383.502
            -9000000 --> -9,000,000.0
            -8000000 --> -8,000,000.0
        -2605165.528 --> -2,605,165.528
    -2066751.5611587 --> -2,066,751.5611587
      -1836952.65643 --> -1,836,952.65643
         -1423817.06 --> -1,423,817.06
            -1000000 --> -1,000,000.0
            -1000000 --> -1,000,000.0
             -613248 --> -613,248.0
      -530478.741755 --> -530,478.741755
           -453238.7 --> -453,238.7
          -351503.68 --> -351,503.68
             -100000 --> -100,000.0
     -70209.51545341 --> -70,209.51545341
     -32134.87390063 --> -32,134.87390063
              -30200 --> -30,200.0
       -10436.310345 --> -10,436.310345
        -9677.385748 --> -9,677.385748
         -8766.06634 --> -8,766.06634
             -6937.3 --> -6,937.3
      -3758.66759743 --> -3,758.66759743
               -3000 --> -3,000.0
               -2000 --> -2,000.0
            -714.204 --> -714.204
             -489.56 --> -489.56
     -433.9213494369 --> -433.9213494369
    -97.985836769448 --> -97.985836769448
             -82.866 --> -82.866
    -74.173979076638 --> -74.173979076638
     -69.94278424882 --> -69.94278424882
     -21.23770514561 --> -21.23770514561
              -7.327 --> -7.327
            -6.86925 --> -6.86925
        -5.679823689 --> -5.679823689
             -2.4358 --> -2.4358
         -0.86892818 --> -0.86892818
       -0.6377815947 --> -0.6377815947
   -0.57078859376292 --> -0.57078859376292
   -0.22850578801171 --> -0.22850578801171
    -0.0847240995079 --> -0.0847240995079
               -0.08 --> -0.08
  -0.062897317932405 --> -0.062897317932405
   -0.05085553287103 --> -0.05085553287103
        -0.029823473 --> -0.029823473
         -0.02680775 --> -0.02680775
         -0.01056562 --> -0.01056562
   -0.01028241226928 --> -0.01028241226928
    -0.0094968883737 --> -0.0094968883737
         -0.00794105 --> -0.00794105
      -0.00766752063 --> -0.00766752063
  -0.007527492822859 --> -0.007527492822859
        -0.001399474 --> -0.001399474
  -0.000757810455169 --> -0.000757810455169
     -0.000742530503 --> -0.000742530503
-0.00074164583196009 --> -0.00074164583196009
       -8.1890145E-5 --> -0.000081890145
  -7.363877956459E-5 --> -0.00007363877956459
         -4.22046E-5 --> -0.0000422046
            -2.53E-5 --> -0.0000253
         -1.90548E-5 --> -0.0000190548
       -9.3570793E-6 --> -0.0000093570793
       -8.2518646E-6 --> -0.0000082518646
           -7.358E-6 --> -0.000007358
 -5.0230715912874E-6 --> -0.0000050230715912874
             -4.0E-6 --> -0.000004
    -3.5076378023E-6 --> -0.0000035076378023
 -1.9660664312384E-6 --> -0.0000019660664312384
 -1.4617989917574E-6 --> -0.0000014617989917574
             -8.9E-7 --> -0.00000089
      -6.82325695E-7 --> -0.000000682325695
 -3.6485063394758E-7 --> -0.00000036485063394758
             -2.9E-7 --> -0.00000029
 -9.5657815595929E-8 --> -0.000000095657815595929
           -6.324E-8 --> -0.00000006324
         -2.16067E-8 --> -0.0000000216067
   -1.06307296132E-8 --> -0.0000000106307296132
            -9.83E-9 --> -0.00000000983
  -8.081306208894E-9 --> -0.000000008081306208894
 -5.3164727079293E-9 --> -0.0000000053164727079293
   -4.51179174916E-9 --> -0.00000000451179174916
             -4.5E-9 --> -0.0000000045
        -4.293138E-9 --> -0.000000004293138
             -3.9E-9 --> -0.0000000039
          -3.7019E-9 --> -0.0000000037019
      -6.9876552E-10 --> -0.00000000069876552
         -9.9198E-11 --> -0.000000000099198
-9.7909299469511E-11 --> -0.000000000097909299469511
  -7.05952082158E-11 --> -0.0000000000705952082158
      -7.0535306E-11 --> -0.000000000070535306
     -2.27550095E-11 --> -0.0000000000227550095
         -1.4642E-11 --> -0.000000000014642
     -9.85702101E-12 --> -0.00000000000985702101
           -8.32E-12 --> -0.00000000000832
    -4.675490635E-12 --> -0.000000000004675490635
  -2.85293812531E-12 --> -0.00000000000285293812531
 -5.585065989562E-13 --> -0.0000000000005585065989562
     -3.94623487E-13 --> -0.000000000000394623487
-2.4993057281241E-13 --> -0.00000000000024993057281241
     -9.73670657E-14 --> -0.0000000000000973670657
            -8.0E-14 --> -0.00000000000008
        -2.54858E-14 --> -0.0000000000000254858
         -9.8581E-15 --> -0.0000000000000098581
   -8.9209574828E-15 --> -0.0000000000000089209574828
        -8.58401E-15 --> -0.00000000000000858401
        -8.46716E-15 --> -0.00000000000000846716
            -6.3E-15 --> -0.0000000000000063
         -5.4699E-15 --> -0.0000000000000054699
            -4.8E-15 --> -0.0000000000000048
            -3.0E-15 --> -0.000000000000003
        -2.97299E-15 --> -0.00000000000000297299
      -8.2994508E-16 --> -0.00000000000000082994508
            -8.0E-16 --> -0.0000000000000008
      -7.7798049E-16 --> -0.00000000000000077798049
            -1.0E-16 --> -0.0000000000000001
 -6.965897161032E-17 --> -0.00000000000000006965897161032
-9.6943732116811E-18 --> -0.0000000000000000096943732116811
        -9.12768E-18 --> -0.00000000000000000912768
         -5.4316E-18 --> -0.0000000000000000054316
        -4.82076E-18 --> -0.00000000000000000482076
      -4.2102024E-18 --> -0.0000000000000000042102024
       -1.495869E-18 --> -0.000000000000000001495869
        -1.43171E-18 --> -0.00000000000000000143171
      -8.4088288E-19 --> -0.00000000000000000084088288
-6.8716162149197E-19 --> -0.00000000000000000068716162149197
   -6.5473411402E-19 --> -0.00000000000000000065473411402
           -5.35E-19 --> -0.000000000000000000535
            -3.0E-19 --> -0.0000000000000000003
-2.1575885415811E-19 --> -0.00000000000000000021575885415811
            -1.0E-19 --> -0.0000000000000000001
-6.3999041292816E-20 --> -0.000000000000000000063999041292816
            -6.0E-20 --> -0.00000000000000000006
      -5.8557264E-20 --> -0.000000000000000000058557264
        -5.57499E-20 --> -0.0000000000000000000557499
    -3.738628842E-20 --> -0.00000000000000000003738628842
         -3.2781E-20 --> -0.000000000000000000032781
            -9.0E-21 --> -0.000000000000000000009
          -8.549E-21 --> -0.000000000000000000008549
    -4.800801489E-21 --> -0.000000000000000000004800801489
     -3.39073341E-21 --> -0.00000000000000000000339073341
           -1.11E-21 --> -0.00000000000000000000111
     -9.57053791E-22 --> -0.000000000000000000000957053791
   -5.7893153307E-22 --> -0.00000000000000000000057893153307
        -4.95258E-22 --> -0.000000000000000000000495258
 -3.041392757111E-22 --> -0.0000000000000000000003041392757111
 -6.531354625025E-23 --> -0.00000000000000000000006531354625025
            -2.0E-23 --> -0.00000000000000000000002
   -1.8339705103E-23 --> -0.000000000000000000000018339705103
    -1.830722867E-23 --> -0.00000000000000000000001830722867
-1.5555986443328E-23 --> -0.000000000000000000000015555986443328
            -1.0E-23 --> -0.00000000000000000000001
     -9.42520334E-24 --> -0.00000000000000000000000942520334
            -8.0E-24 --> -0.000000000000000000000008
       -7.976398E-24 --> -0.000000000000000000000007976398
       -7.322544E-24 --> -0.000000000000000000000007322544
-2.5224854250078E-24 --> -0.0000000000000000000000025224854250078
            -1.0E-24 --> -0.000000000000000000000001
   -8.6103016132E-25 --> -0.00000000000000000000000086103016132
 -8.487651808414E-25 --> -0.0000000000000000000000008487651808414
 -3.962868174521E-25 --> -0.0000000000000000000000003962868174521
            -9.4E-26 --> -0.000000000000000000000000094
   -3.6320012359E-26 --> -0.000000000000000000000000036320012359
  -3.56690356674E-26 --> -0.0000000000000000000000000356690356674
   -4.1696089805E-27 --> -0.0000000000000000000000000041696089805
                  -0 --> 0.0
                  -0 --> 0.0
                   0 --> 0.0
                  -0 --> 0.0
                   0 --> 0.0
                   0 --> 0.0
                  -0 --> 0.0
                  -0 --> 0.0
                   0 --> 0.0
                  -0 --> 0.0
                   0 --> 0.0
                  -0 --> 0.0
                   0 --> 0.0
                   0 --> 0.0
                   0 --> 0.0
                  -0 --> 0.0
                  -0 --> 0.0
  1.912519411143E-26 --> 0.00000000000000000000000001912519411143
       5.3597519E-26 --> 0.000000000000000000000000053597519
       6.6615609E-26 --> 0.000000000000000000000000066615609
 6.9977090633464E-26 --> 0.000000000000000000000000069977090633464
       8.2482814E-26 --> 0.000000000000000000000000082482814
           1.989E-25 --> 0.0000000000000000000000001989
     4.633551135E-25 --> 0.0000000000000000000000004633551135
            5.35E-25 --> 0.000000000000000000000000535
       8.1247436E-25 --> 0.00000000000000000000000081247436
 8.5869215701646E-25 --> 0.00000000000000000000000085869215701646
 8.8435236079821E-25 --> 0.00000000000000000000000088435236079821
             9.8E-25 --> 0.00000000000000000000000098
      3.27182891E-24 --> 0.00000000000000000000000327182891
    5.2609070322E-24 --> 0.0000000000000000000000052609070322
             8.0E-24 --> 0.000000000000000000000008
 9.4910248413175E-24 --> 0.0000000000000000000000094910248413175
             3.0E-23 --> 0.00000000000000000000003
     5.233458199E-23 --> 0.00000000000000000000005233458199
           6.212E-23 --> 0.00000000000000000000006212
    7.2916446893E-23 --> 0.000000000000000000000072916446893
           7.979E-23 --> 0.00000000000000000000007979
   3.43018042549E-22 --> 0.000000000000000000000343018042549
          4.3513E-22 --> 0.00000000000000000000043513
             5.8E-22 --> 0.00000000000000000000058
         6.08164E-22 --> 0.000000000000000000000608164
      1.69101758E-21 --> 0.00000000000000000000169101758
          1.7451E-21 --> 0.0000000000000000000017451
  2.902634666722E-21 --> 0.000000000000000000002902634666722
 6.7800614129659E-21 --> 0.0000000000000000000067800614129659
            8.27E-21 --> 0.00000000000000000000827
             9.0E-21 --> 0.000000000000000000009
          9.8402E-21 --> 0.0000000000000000000098402
          2.5944E-20 --> 0.000000000000000000025944
            3.16E-20 --> 0.0000000000000000000316
    3.2926639883E-20 --> 0.000000000000000000032926639883
         6.16736E-19 --> 0.000000000000000000616736
    6.3867150929E-19 --> 0.00000000000000000063867150929
           7.304E-19 --> 0.0000000000000000007304
      2.87324222E-18 --> 0.00000000000000000287324222
    4.7321885287E-18 --> 0.0000000000000000047321885287
             6.0E-18 --> 0.000000000000000006
       7.4013144E-18 --> 0.0000000000000000074013144
      7.67971971E-18 --> 0.00000000000000000767971971
       9.3675998E-18 --> 0.0000000000000000093675998
             8.6E-17 --> 0.000000000000000086
           9.663E-17 --> 0.00000000000000009663
 4.0434377007389E-16 --> 0.00000000000000040434377007389
       4.1541338E-16 --> 0.00000000000000041541338
           5.725E-16 --> 0.0000000000000005725
             6.4E-16 --> 0.00000000000000064
 8.9819264220921E-16 --> 0.00000000000000089819264220921
           6.362E-15 --> 0.000000000000006362
    7.8354920763E-15 --> 0.0000000000000078354920763
      2.12155547E-14 --> 0.0000000000000212155547
       2.1760922E-14 --> 0.000000000000021760922
        3.985081E-14 --> 0.00000000000003985081
          4.7341E-14 --> 0.000000000000047341
     8.444191468E-14 --> 0.00000000000008444191468
   4.54301143742E-13 --> 0.000000000000454301143742
             7.1E-13 --> 0.00000000000071
   1.21270683651E-12 --> 0.00000000000121270683651
     6.354934753E-12 --> 0.000000000006354934753
      7.07458364E-12 --> 0.00000000000707458364
        7.279028E-12 --> 0.000000000007279028
  9.658304359605E-12 --> 0.000000000009658304359605
             1.0E-11 --> 0.00000000001
      1.22762942E-11 --> 0.0000000000122762942
 5.4078139762431E-11 --> 0.000000000054078139762431
 6.9578897845735E-11 --> 0.000000000069578897845735
    7.6587365976E-11 --> 0.000000000076587365976
           2.455E-10 --> 0.0000000002455
    3.6751102813E-10 --> 0.00000000036751102813
           7.235E-10 --> 0.0000000007235
       9.6225946E-10 --> 0.00000000096225946
             3.98E-9 --> 0.00000000398
    5.27292882338E-9 --> 0.00000000527292882338
              6.0E-9 --> 0.000000006
   7.194822666792E-9 --> 0.000000007194822666792
       8.00953235E-9 --> 0.00000000800953235
              1.0E-8 --> 0.00000001
          1.20922E-8 --> 0.0000000120922
              8.0E-8 --> 0.00000008
  8.7801722897124E-8 --> 0.000000087801722897124
       9.42428763E-8 --> 0.0000000942428763
              1.0E-7 --> 0.0000001
          1.11709E-7 --> 0.000000111709
       4.28143647E-7 --> 0.000000428143647
      5.839577413E-7 --> 0.0000005839577413
   9.599215900339E-7 --> 0.0000009599215900339
    5.07303020222E-6 --> 0.00000507303020222
   1.324975039496E-5 --> 0.00001324975039496
      4.333981082E-5 --> 0.00004333981082
  4.7394116664023E-5 --> 0.000047394116664023
    0.00014588830254 --> 0.00014588830254
        0.0004635085 --> 0.0004635085
     0.0005767896141 --> 0.0005767896141
   0.000642147413754 --> 0.000642147413754
          0.00065259 --> 0.00065259
              0.0009 --> 0.0009
 0.00092350364053785 --> 0.00092350364053785
     0.0009318855451 --> 0.0009318855451
               0.001 --> 0.001
            0.004401 --> 0.004401
   0.008105396650781 --> 0.008105396650781
                0.01 --> 0.01
   0.014643144334966 --> 0.014643144334966
       0.17304285484 --> 0.17304285484
                0.24 --> 0.24
    0.38673565834143 --> 0.38673565834143
              0.4175 --> 0.4175
    0.52714103438293 --> 0.52714103438293
        0.5362790388 --> 0.5362790388
          0.85768737 --> 0.85768737
     2.4412875214784 --> 2.4412875214784
               3.145 --> 3.145
            3.886124 --> 3.886124
             4.05826 --> 4.05826
     6.3037341815903 --> 6.3037341815903
                 9.9 --> 9.9
            36.69262 --> 36.69262
         54.49862967 --> 54.49862967
             77.2227 --> 77.2227
       78.3007920153 --> 78.3007920153
       81.2630853063 --> 81.2630853063
        98.251334996 --> 98.251334996
           377.92578 --> 377.92578
             382.523 --> 382.523
        406.46973551 --> 406.46973551
           975.76283 --> 975.76283
     998.18651890298 --> 998.18651890298
        1198.1124157 --> 1,198.1124157
           1200.8991 --> 1,200.8991
                2000 --> 2,000.0
                2190 --> 2,190.0
      2337.724888855 --> 2,337.724888855
       4052.88260619 --> 4,052.88260619
     4870.2922160133 --> 4,870.2922160133
       6015.85688815 --> 6,015.85688815
      6154.127561559 --> 6,154.127561559
                7440 --> 7,440.0
               16010 --> 16,010.0
       22324.9118413 --> 22,324.9118413
           24470.227 --> 24,470.227
        77102.810972 --> 77,102.810972
      77326.58333952 --> 77,326.58333952
              284740 --> 284,740.0
            446121.3 --> 446,121.3
           472246.26 --> 472,246.26
     551814.02785322 --> 551,814.02785322
              890000 --> 890,000.0
             2564500 --> 2,564,500.0
          4536317.09 --> 4,536,317.09
             5490000 --> 5,490,000.0
           6275414.5 --> 6,275,414.5
            10000000 --> 10,000,000.0
            12130000 --> 12,130,000.0
     30891339.867791 --> 30,891,339.867791
          77921196.4 --> 77,921,196.4
            80483710 --> 80,483,710.0
            90925540 --> 90,925,540.0
     448764540.46404 --> 448,764,540.46404
           514964300 --> 514,964,300.0
           520000000 --> 520,000,000.0
           920157600 --> 920,157,600.0
          1487500000 --> 1,487,500,000.0
          1673224300 --> 1,673,224,300.0
      1916603139.563 --> 1,916,603,139.563
          3224000000 --> 3,224,000,000.0
          5066500000 --> 5,066,500,000.0
          7300000000 --> 7,300,000,000.0
          8800000000 --> 8,800,000,000.0
         10000000000 --> 10,000,000,000.0
         10000000000 --> 10,000,000,000.0
         10000000000 --> 10,000,000,000.0
         10000000000 --> 10,000,000,000.0
         20000000000 --> 20,000,000,000.0
         35616682673 --> 35,616,682,673.0
         83454600000 --> 83,454,600,000.0
        264850716000 --> 264,850,716,000.0
        300000000000 --> 300,000,000,000.0
        330800000000 --> 330,800,000,000.0
        520000000000 --> 520,000,000,000.0
        700000000000 --> 700,000,000,000.0
        704997876056 --> 704,997,876,056.0
       1000000000000 --> 1,000,000,000,000.0
       1000000000000 --> 1,000,000,000,000.0
       4076400000000 --> 4,076,400,000,000.0
       5900000000000 --> 5,900,000,000,000.0
       7388000000000 --> 7,388,000,000,000.0
      27410000000000 --> 27,410,000,000,000
      71566169090000 --> 71,566,169,090,000
        5.515912E+14 --> 551,591,200,000,000
           6.163E+14 --> 616,300,000,000,000
           6.922E+14 --> 692,200,000,000,000
  7.921594841369E+14 --> 792,159,484,136,900
        1.363505E+15 --> 1,363,505,000,000,000
     1.603604882E+15 --> 1,603,604,882,000,000
             2.0E+15 --> 2,000,000,000,000,000
         5.69838E+15 --> 5,698,380,000,000,000
       4.0378862E+16 --> 40,378,862,000,000,000
    4.7864638524E+16 --> 47,864,638,524,000,000
             8.0E+16 --> 80,000,000,000,000,000
 9.7351497457061E+16 --> 97,351,497,457,061,000
             1.0E+17 --> 100,000,000,000,000,000
             1.0E+17 --> 100,000,000,000,000,000
 1.7101037975913E+17 --> 171,010,379,759,130,000
    3.1537593357E+17 --> 315,375,933,570,000,000
    4.4237675911E+17 --> 442,376,759,110,000,000
 5.4731237168764E+17 --> 547,312,371,687,640,000
    6.0259620687E+17 --> 602,596,206,870,000,000
      6.03697585E+17 --> 603,697,585,000,000,000
           7.847E+17 --> 784,700,000,000,000,000
             8.5E+17 --> 850,000,000,000,000,000
         3.63626E+18 --> 3,636,260,000,000,000,000
         3.72919E+18 --> 3,729,190,000,000,000,000
            6.77E+18 --> 6,770,000,000,000,000,000
     8.680311697E+18 --> 8,680,311,697,000,000,000
             1.0E+19 --> 10,000,000,000,000,000,000
   1.02673076141E+19 --> 10,267,307,614,100,000,000
     1.302487348E+19 --> 13,024,873,480,000,000,000
         4.00779E+19 --> 40,077,900,000,000,000,000
             7.6E+19 --> 76,000,000,000,000,000,000
            3.36E+20 --> 336,000,000,000,000,000,000
     4.273435177E+20 --> 427,343,517,700,000,000,000
           9.266E+20 --> 926,600,000,000,000,000,000
      1.66387329E+21 --> 1,663,873,290,000,000,000,000
             8.4E+21 --> 8,400,000,000,000,000,000,000
 2.5173109036485E+22 --> 25,173,109,036,485,000,000,000
             4.0E+22 --> 40,000,000,000,000,000,000,000
         4.00055E+22 --> 40,005,500,000,000,000,000,000
      5.99856543E+22 --> 59,985,654,300,000,000,000,000
  8.707101968446E+22 --> 87,071,019,684,460,000,000,000
       9.1250408E+22 --> 91,250,408,000,000,000,000,000
        2.256058E+23 --> 225,605,800,000,000,000,000,000
 5.8256916635789E+23 --> 582,569,166,357,890,000,000,000
 6.2947039009513E+23 --> 629,470,390,095,130,000,000,000
  8.284824964723E+23 --> 828,482,496,472,300,000,000,000
             9.1E+23 --> 910,000,000,000,000,000,000,000
 1.5741604853301E+24 --> 1,574,160,485,330,100,000,000,000
  3.245643006286E+24 --> 3,245,643,006,286,000,000,000,000
             7.6E+24 --> 7,600,000,000,000,000,000,000,000
      8.77217425E+24 --> 8,772,174,250,000,000,000,000,000
  9.225239939627E+24 --> 9,225,239,939,627,000,000,000,000