我正在尝试对包含 1400000 的变量进行回显。所以有这样写: echo round(1400000);这给出了 1,4E+6 而不是完整的数字。有人知道如何完整地展示它吗?

有帮助吗?

解决方案

似乎轮是问题所在。 我number_format()改变它,这样做的工作就好了。 感谢阿隆和保罗的答案。

其他提示

与你的问题相关,我也遇到过 这条评论 在 PHP 网站上。

PHP 从标准十进制切换 的表示法到指数表示法 某些“特殊”的浮标。你可以看到 此类“特殊”的部分列表 值:

for( $tmp = 0, $i = 0; $i < 100; $i++ ) 
{
    $tmp += 100000;
    echo round($tmp),"\n"; 
} 

因此,如果您添加两个浮点数,则最终会得到 “特殊”值,例如1.2E+6,则 将该值未修改地放入 更新查询以将值存储在 十进制列,比如说,你可能会 获取失败的事务,因为 数据库将看到“1.2E+6”作为 varchar 数据,而不是十进制。同样,您将 如果出现以下情况,可能会收到 XSD 验证错误 将值放入 XML 中。

我必须诚实地说:这是其中之一 我见过的最奇怪的事情 20 多年来的任何语言 编码,这是一个巨大的痛苦 解决方法。

似乎还没有“真正”的修复,但从评论中的评论来看 Paul Dixon 提到的错误报告 早些时候,他的解决方案似乎有效。

可能与此有关 bug报告,所以你可以尝试

printf("%d", $myvar);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top