在php中,最好使用sprintf函数控制浮点数的打印格式。
的打印和格式控件是sprintf的一个常见功能,浮点数由格式符号“%f”控制,默认情况下保留六个小数位数。 示例:
sprintf('%f ),3.1415926; //结果:“3.141593”
但是,您可能希望自己控制打印宽度和小数位数。 在这种情况下,请按如下方式使用:
“%m.nf”格式。 其中m表示打印数字的总体宽度,n表示小数点后的位数。
例如:
复制代码示例:
sprintf('%9.3f )、3.1415926; //右对齐:位数不够,用空格补充。 结果:“3.142”
sprintf('%-9.3f ',3.1415926 ); //左对齐:位数不够,用空格补充。 结果:“3.142”
sprintf('%.3f ),3.1415926; //未指定总宽度,结果:“3.142”
注意:
复制代码示例:
美元=100;
sprintf('%.2f ',$num );
sprintf('%.2f ),) double ) $num );
上面的两个结果真的一样吗? 虽然看起来一样,但以下理由可能会成为提示。
原因分析:参数堆栈的调用方不知道与num对应的格式控件为“%f”。
另一方面,函数执行时的函数本身并不知道当年压入堆栈的是整数,所以可怜保存整数$num的4字节,不由得被解释为浮点数格式,产生了混乱。