PHP如何将数字指数数转换为字符串?

时间:2017-04-20 04:37:34

标签: php string floating-point number-formatting exponential

我有一个以科学记数法存储的数字

  

2.01421700079E + 14

我尝试过使用float,string,int而我无法获取

  

0201421700079085 来自 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 =数字
  3. 201421700079085 = int
  4. 2.01421700079E + 14 =字符串

2 个答案:

答案 0 :(得分:3)

printf和朋友们会这样做:

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

输出:

string(15) "201421700079000"

显然,原始数字中的信息不足以获得更高的精确度。

答案 1 :(得分:2)

试试这个:

number_format(1.2378147769392E+14,0,'','')