$num = 3014159265;
//第一种:利用round()对浮点数进行四舍五入
echo round($num,2); //3.14
//第二种:利用sprintf格式化字符串
$format_num = sprintf("%.2f",$num);
echo format_num; //3.14
//第三种:利用千位分组来格式化数字的函数number_format()
echo number_format($num, 2); //3.14
//或者如下
echo number_format($num, 2, '.', ''); //3.14
注:1.sprintf(format , arg1,arg++)
format:规定字符串以及如何格式化其中的变量。
可能的格式值:
%% - 返回一个百分号 %
%b - 二进制数
%c - ASCII 值对应的字符
%d - 包含正负号的十进制数(负数、0、正数)
%e - 使用小写的科学计数法(例如 1.2e+2)
%E - 使用大写的科学计数法(例如 1.2E+2)
%u - 不包含正负号的十进制数(大于等于 0)
%f - 浮点数(本地设置)
%F - 浮点数(非本地设置)
%g - 较短的 %e 和 %f
%G - 较短的 %E 和 %f
%o - 八进制数
%s - 字符串
%x - 十六进制数(小写字母)
%X - 十六进制数(大写字母)
附加的格式值。必需放置在 % 和字母之间(例如 %.2f):
+ (在数字前面加上 + 或 - 来定义数字的正负性。默认情况下,只有负数才做标记,正数不做标记)
' (规定使用什么作为填充,默认是空格。它必须与宽度指定器一起使用。例如:%'x20s(使用 "x" 作为填充))
- (左调整变量值)
[0-9] (规定变量值的最小宽度)
.[0-9] (规定小数位数或最大字符串长度)
2.number_format(number,decimals,decimalpoint,separator)
参数
描述
number
必需。要格式化的数字。
如果未设置其他参数,则数字会被格式化为不带小数点且以逗号(,)作为千位分隔符。
decimals
可选。规定多少个小数。如果设置了该参数,则使用点号(.)作为小数点来格式化数字。
decimalpoint
可选。规定用作小数点的字符串。
separator
可选。规定用作千位分隔符的字符串。仅使用该参数的第一个字符。比如 "xxx" 仅输出 "x"。
注释:如果设置了该参数,那么所有其他参数都是必需的。