84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
需求是财务那边提出的,我现在用的是这个 sprintf("%.2f", substr(sprintf("%.4f", $profits), 0, -2));但是像是 19.9997 要变成19.99就做不到了。
sprintf("%.2f", substr(sprintf("%.4f", $profits), 0, -2));
人生最曼妙的风景,竟是内心的淡定与从容!
JS中不就是这样做的吗?
$a= 19.9997;
echo floor($a*100)/100;
$pos = stripos(19.9997,'.'); echo substr(19.9997,0,$pos+3);
可以借助bcmath函数来处理
bcmul(19.9997, 1, 2)
可以考虑正则表达式
$arr = array(); $preg = 19.9997; $mattch = "/\w+.\w{2}/"; $result = preg_match($mattch,$preg,$arr); echo "<pre>"; print_r($arr); echo $result;
number_format
格式化成保留3位小数再去掉最后一个数字便是
使用number_format函数最为直接, $english_format_number = number_format($number, 2, '.', '');// 1234.57
详细用法访问php.net官网。
JS中不就是这样做的吗?
$a= 19.9997;
echo floor($a*100)/100;
可以借助bcmath函数来处理
bcmul(19.9997, 1, 2)
可以考虑正则表达式
number_format
格式化成保留3位小数再去掉最后一个数字便是
使用number_format函数最为直接, $english_format_number = number_format($number, 2, '.', '');
// 1234.57
详细用法访问php.net官网。