您好,我想将浮点数格式化为德语符号,如下所示:
float(12.0)=> 12
float(12.7)=> 12,7
float(12.23)=> 12,23
float(1234)=> 1.1234
float(1234.567)=> 1.234,567
为了达到这个目的,我试图使用number_format(),其小数位数未知:
首先尝试:
number_format($float,0,",",".");
结果没有让人满意:
float(12.7)=> 13
接下来尝试:
$tr = rtrim(number_format($float,30,",","."),"0");
if(substr($tr,-1)===USS_DM) {
return rtrim($tr,USS_DM);
}
结果并非令人满意且出乎意料:
float(13.7)=> 13,6999999999999992894572642399
预计:13,7
我在这里尝试做的是将float编号格式化为13,7000000000000000000并在必要时修剪尾随零以及之后的小数点。但是由于某些原因,float(13.7)格式化为13.6999 ......等等。
如何格式化数字以获得预期结果?