我找到网上的列子,但是输出的内容跟要输出的内容不一样,比如
$a = "22323330223000009";
//echo sprintf("%.0f", $a);
echo sprintf ("%06.2f", ($a));
输出结果竟然是22323330223000008。00如何输出才能保证正确呀
$a = "22323330223000009";
//echo sprintf("%.0f", $a);
echo sprintf ("%06.2f", ($a));
输出结果竟然是22323330223000008。00如何输出才能保证正确呀
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
?>
$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
*/
输出: 12345678901234567890123456789012345678901234567891230
————————————————————————————————
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)