浮点数操作在理论利用中还是挺多的,这篇笔记用来整顿常见操作。

保留N位小数做四舍五入

想要保留N 位小数同时做四舍五入的形式还是挺多的,上面列举罕用的几种。

sprintf

sprintf 函数用于返回一个格式化之后的字符串。

<?php$num = 22.356;echo sprintf("%.2f", $num); // 22.36

%.2f 是指标格局,其中2 示意2 位,f示意视为浮点数。

round

round 函数用于对浮点数进行四舍五入。

还能够通过传入参数,决定从第几位开始四舍五入。如果没有参数,默认从小数点后一位开始四舍五入。

<?phpecho round(3.4);         // 3echo round(3.5);         // 4echo round(22.356, 2);   // 22.36

保留N位小数不做四舍五入

<?php$num = 22.356;echo sprintf("%.2f",substr(sprintf("%.3f", $num), 0, -1));  // 22.35

获取小数位长度

<?php$num = 22.356;echo strlen(substr(strrchr($num, "."), 1));  // 3