求PHP显示长整数的问题

fumeiyu2 2011-10-25 11:27:24
我找到网上的列子,但是输出的内容跟要输出的内容不一样,比如
$a = "22323330223000009";
//echo sprintf("%.0f", $a);
echo sprintf ("%06.2f", ($a));
输出结果竟然是22323330223000008。00

如何输出才能保证正确呀
...全文
550 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
恩,学习了,6楼的说法。
life169 2011-10-26
  • 打赏
  • 举报
回复


$str = '12345678901234567890123456789012345678901234567891230';

echo bcadd($str,'1');


输出: 12345678901234567890123456789012345678901234567891230
maquan 2011-10-26
  • 打赏
  • 举报
回复
在 PHP 里,“整数”长到一定程度,就被理解成“浮点数”,而浮点数也是有精度范围的,一般就 16、17 位有效数字。你这个貌似超过精度范围了。

建议楼主考虑用字符串形式来进行相关处理,如果一定要进行数学计算,就像楼上指出的,用 BC Math Functions。


————————————————————————————————
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
xuzuning 2011-10-25
  • 打赏
  • 举报
回复
建议你先补习一下关于计算机中数的表示的相关知识
ZT_King 2011-10-25
  • 打赏
  • 举报
回复

$a = "22323330223000009";

$dc = 6;//整数位数
$dt = 2;//小数位数
$d = intval(strlen($a)-$dc);
$str = "1e$d";
$t = eval("return $str;");
$format = "%0${dc}.${dt}f";
echo sprintf ($format, $a/$t);
/**
223233.30
*/
士元 2011-10-25
  • 打赏
  • 举报
回复
echo sprintf('%06d', 22222222);
gao30101 2011-10-25
  • 打赏
  • 举报
回复
主要是:ceil,floor,round,intval
ceil — 进一法取整
说明
float ceil ( float value )
返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
例子 1. ceil() 例子
<?php
echo ceil(4.3); // 5
echo ceil(9.999); // 10
?>
floor — 舍去法取整
说明
float floor ( float value )
返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
例子 1. floor() 例子
<?php
echo floor(4.3); // 4
echo floor(9.999); // 9
?>
round — 对浮点数进行四舍五入
说明
float round ( float val [, int precision] )
返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。
例子 1. round() 例子
<?php
echo round(3.4); // 3
echo round(3.5); // 4
echo round(3.6); // 4
echo round(3.6, 0); // 4
echo round(1.95583, 2); // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2); // 5.05
echo round(5.055, 2); // 5.06
?>
intval—对变数转成整数型态
例子intval()
<?php
echo intval(4.3); //4
echo intval(4.6); // 4
?>

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧