如何从PHP将指数格式转换为实际数字
如何将如何从PHP将指数格式转换为实际数字,php,Php,如何将8.64E+14从PHP转换为实际值?如果尚未转换为浮点,则转换为浮点,并printf()结果: printf('%.0f', (float) '8.64E+14'); 请注意,转换为int将不起作用,因为该转换不理解用科学记数法表示为字符串的数字。在某些系统上,给定的数字太大,无法放入int,因此PHP可能会将其改为浮点。它已经是一个实际值。值类型为float $float = 8.64E+14; var_dump($float); //will give you float 8.64
8.64E+14
从PHP转换为实际值?如果尚未转换为浮点,则转换为浮点,并printf()
结果:
printf('%.0f', (float) '8.64E+14');
请注意,转换为int将不起作用,因为该转换不理解用科学记数法表示为字符串的数字。在某些系统上,给定的数字太大,无法放入int,因此PHP可能会将其改为浮点。它已经是一个实际值。值类型为float
$float = 8.64E+14;
var_dump($float); //will give you float 8.64E+14
在某些体系结构上打印:-1391067136。@Tim:对我来说打印864000000000000,这是由于某些体系结构上的整数溢出。以浮点数形式打印小数应该可以。你的构建可以处理8.64E+24吗?@Tim:Nope。。。舍入衰减。实际上,这是一个csv文件值,但我想要整数值。好吧,您可以使用
(int)
强制转换它,但可能会失去精度。请参阅手册:(int)
不识别科学符号。@BoltClock,我想是的。您可以使用类似于$int=(int)sprintf('%.0f',$float)的东西代码>但是你会碰到int的边界