我的api要求所有与订阅费用相关的数据在提交给数据库之前都采用正确的格式,因为客户需要支付金额。以下规则适用。
is_string($data['cost'])
$data['cost'] < 0
验证要求#3的最佳方法是什么?
答案 0 :(得分:1)
决定采取非常直接的方式。如果成本中存在小数,请检查右侧有多少个位置。否则提交到DB。
$amount = explode('.', $data['cost']);
if(isset($amount[1]) && strlen($amount[1]) > 2) {
// response
}
答案 1 :(得分:0)
使用number_format()
。 优点是无论你得到什么(不够0或太多0),它都会以正确的格式保存
number_format("1000000",2) // 1,000,000.00
修改:要将其用于验证,
$num = $data['cost'];
$check = number_format($num,2);
if ($num == $check) return true;