<?php $a = 2749826833580000000; echo $a; ?>
输出的时候是一个浮点数的科学计数法。 2.74982683358E+18 (不同机器,不同操作系统会有差异)
想要按原形输出 2749826833580000000 。即便
<?php $a = 2749826833580000000; echo ''.$a; echo strval($a); ?>
也无济于事。用 strlen 返回的也是科学计数法的长度。可以这样输出
< ?php $a = 2749826833580000000; echo sprintf("%.0f", $a); ?>
但是精度会丢失,也不是很好
也有一个 number_format 的函数可用,不过每3位用逗号隔开。
定义和用法
number_format() 函数通过千位分组来格式化数字。
语法
number_format(number,decimals,decimalpoint,separator)
参数 | 描述 |
---|---|
number |
必需。要格式化的数字。 如果未设置其他参数,则数字会被格式化为不带小数点且以逗号 (,) 作为分隔符。 |
decimals | 可选。规定多少个小数。如果设置了该参数,则使用点号 (.) 作为小数点来格式化数字。 |
decimalpoint | 可选。规定用作小数点的字符串。 |
separator |
可选。规定用作千位分隔符的字符串。 仅使用该参数的第一个字符。比如 "xyz" 仅输出 "x"。 注释:如果设置了该参数,那么所有其他参数都是必需的。 |