将表示为字符串的指数数转换为小数

时间:2011-03-17 14:18:22

标签: php

假设我有字符串,其中包含“7.2769482308e + 01”(此号码来自第三方软件,我无法控制格式)。

将它转换为十进制72.769482308的最便宜的方法是什么?

我能想到的唯一解决方案是拆分十进制+指数部分并使用乘法。但可能有一些建立它的功能做同样的事情?

注意:伙计们,是的,我读过Convert exponential to a whole number in PHPConvert exponential number to decimal in php。这些问题无关紧要,因为他们已经有一个数字,但我有字符串

3 个答案:

答案 0 :(得分:14)

对浮点值的简单转换怎么样?

$string = "7.2769482308e+01";
$float  = (float) $string;

答案 1 :(得分:10)

我使用最初由this question提供的number_format(1.2378147769392E+14, 0, '', '')取得了成功。

当值为字符串时,这也适用:number_format("1.2378147769392E+14", 0, '', '')。来吧,试一试。

答案 2 :(得分:0)

这是一个非常便宜的:$float = "7.2769482308e+01" + 0;