Search code examples
phpstringfloating-pointnumber-formattingexponential

PHP how to convert number exponential number to string?


I have a number stored in scientific notation

2.01421700079E+14

I've tried using float, string, int and I can't get

0201421700079085 from 2.01421700079E+14

1. echo (float)$awb;
2. echo number_format($awb, 0, '', '');
3. echo (int)$awb;
4. echo (string)$awb;
  1. 2.01421700079E+14 = float
  2. 201421700079085 = number
  3. 201421700079085 = int
  4. 2.01421700079E+14 = string

Solution

  • printf and friends will do this:

    <?php
    $awb = 2.01421700079E+14;
    $str = sprintf("%d", $awb);
    var_dump($str);
    

    Output:

    string(15) "201421700079000"
    

    There obviously isn't enough information in your original number to get any more precision than that.