开发者

Convert exponential number presented as string to a decimal

开发者 https://www.devze.com 2023-02-17 16:05 出处:网络
Let\'s suppose I have a string that contains \"7.2769482308e+01\" (this number came from 3rd party software, I cannot control the format).

Let's suppose I have a string that contains "7.2769482308e+01" (this number came from 3rd party software, I cannot control the format).

What is the cheapest way to convert it into decimal 72.769482308?

The only solution I can开发者_StackOverflow中文版 think of is to split decimal + exponential part and use multiplication. But may be there some built it function to do the same?

NOTE: Guys, yes, I've read Convert exponential to a whole number in PHP and Convert exponential number to decimal in php. And that questions are irrelevant, since they already have a number, but I have a string.


What about a simple cast to a float value ?

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


I had success using number_format(1.2378147769392E+14, 0, '', '') which was originally provided by this question.

This also works when the value is a string, like so: number_format("1.2378147769392E+14", 0, '', ''). Go ahead, give it a try.


Here is a very cheap one: $float = "7.2769482308e+01" + 0;

0

精彩评论

暂无评论...
验证码 换一张
取 消