浮点数,想保持3位小数,不足3位小数补0
用round(x,3),但是显示的结果,如果只有2位小数的话,也就只显示2个小数
用number_format格式化的话,则相加过程中如果出现千位,则自动转为 1,234.567 这样的数,然后再累加的话,前面的累加就变成0了...有什么办法让数字保持3位小数,且可以正常进行累加的吗?
用round(x,3),但是显示的结果,如果只有2位小数的话,也就只显示2个小数
用number_format格式化的话,则相加过程中如果出现千位,则自动转为 1,234.567 这样的数,然后再累加的话,前面的累加就变成0了...有什么办法让数字保持3位小数,且可以正常进行累加的吗?
sprintf('%.3f', 12345.67890);
不过返回的也是string类型的,会不会出现累加的时候出现错误啊??
刚那个遇到123,44.45的情况本来也不知道,刚好在随机测试数据的时候突然发现...不然可就...
如果只要最后结果,可以累加到最后,再用sprintf('%.3f', 12345.67890); 这个就不会出现错误了!
如果显示中间的累加数据(用 $data表示),显示的时候可以用别的变量($formatData)显示,累加的时 候用$data累加,最终的结果也不会因为由于有效数字而造成误差; 如果对累加数据进行处理然后再累加,可能会出现错误;
printf("%.3f", $num);