0

我有一个字符串

    "1.0E+7"

我希望将其转换为浮点数

    10000000.00

是否有任何 php 函数可以完成这项工作?或者我应该自己做这个转换?

此外,我会收到很多这样的字符串,有些是数字,有些是科学格式,如何在不知道内容的情况下正确转换它们?

4

6 回答 6

4

你可以利用floatval

<?php
echo floatval("1.0E+7").".00";//10000000.00
于 2013-11-14T05:59:47.290 回答
3

试试这个例子,将你的字符串 var 转换为浮点类型:

<?php
$var = '122.34343The';
$float_value_of_var = floatval($var);
echo $float_value_of_var; // 122.34343
?> 
于 2013-11-14T06:00:11.510 回答
3

你最好的选择是施放它....

$val ="1.0E+7"
(float) $val
于 2013-11-14T06:02:13.047 回答
2

尝试这个

// type casting
var_dump((float) "1.0E+7");   // float(10000000)
// type juggling
var_dump("1.0E+7" + 0.0);     // float(10000000)
// function 
var_dump(floatval("1.0E+7")); // float(10000000)

// other stuff
var_dump(round("1.0E+7"));    // float(10000000)
var_dump(floor("1.0E+7"));    // float(10000000)
var_dump(ceil("1.0E+7"));     // float(10000000)
var_dump(abs("1.0E+7"));      // float(10000000) 

// weird
var_dump(unserialize("d:"."1.0E+7".";")); // float(10000000) 
var_dump(json_decode('1.0E+7')); // float(10000000) 

并读取类型杂耍字符串转换为数字floatval

于 2013-11-14T05:58:13.047 回答
2

您可以使用floatval()

$num = "1.0E+7";
$fl = floatval ($num);

printf ("%.02f", $fl);
// Result: 10000000.00
于 2013-11-14T06:01:21.743 回答
1
<?php
$var = '1.0E+7';
$float_value_of_var = floatval($var);
printf ("%.02f", $float_value_of_var);
// 10000000.00
?>
于 2013-11-14T06:01:11.877 回答