假设我有字符串,其中包含“7.2769482308e + 01”(此号码来自第三方软件,我无法控制格式)。
将它转换为十进制72.769482308
的最便宜的方法是什么?
我能想到的唯一解决方案是拆分十进制+指数部分并使用乘法。但可能有一些建立它的功能做同样的事情?
注意:伙计们,是的,我读过Convert exponential to a whole number in PHP和Convert exponential number to decimal in php。这些问题无关紧要,因为他们已经有一个数字,但我有字符串。
答案 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;