PHP浮点数显示和转成字符串

页面导航:首页 > 网络编程 > PHP编程 > PHP浮点数显示和转成字符串

PHP浮点数显示和转成字符串

来源: 作者: 时间:2016-01-16 10:47 【

你可能会觉得PHP中将浮点数(float)转成字符串非常简单, 但是, 常用的方法隐藏着严重的bug 因为, PHP在处理浮点数时有非常不合理的做法, 会有精度丢失

  你可能会觉得中将浮点数(float)转成字符串非常简单, 但是, 常用的方法隐藏着严重的bug. 因为, PHP在处理浮点数时有非常不合理的做法, 会有精度丢失. 经研究, 其实是PHP在显示浮点数时的问题, 也可以说是BUG. PHP内置的echo, var_dump, json_encode, 字符串拼接等函数(指令)在显示浮点数时都有问题, 导致精度丢失. 

 --

   $a = 1315537636.338467;

   printf("%f", $a); echo "\n";

   echo $a . "\n";

   echo $a; echo "\n";

  ?>

  结果

  1315537636.338467

  1315537636.3385

  1315537636.3385

  也就是说, 用PHP最顺手的方法将浮点数转成字符串或者显示是不行的, 必须使用printf/sprintf将浮点数转成字符串.

Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<