我有一个像 $amount = '1,120.01' 这样的数字,我需要与一个整数进行比较(例如 if($amount < 300) { do this } }。但是由于某些原因,php 看到这样的数字(1,120.01 或 300.00)有一个较低的价值,所以我想知道我应该如何格式化它。
问问题
225 次
3 回答
0
你可以试试
$amount = '1,120.01';
$amount = format($amount);
if ($amount < 300) {
echo $amount, " less than 300", PHP_EOL;
} else {
echo $amount, " grater than 300", PHP_EOL;
}
输出
1120.01 grater than 300
使用的功能
function format($number) {
$places = strlen(substr(strrchr($number, "."), 1));
$number = filter_var($number, FILTER_SANITIZE_NUMBER_INT);
return $number / pow(10, $places);
}
于 2013-01-23T15:02:48.980 回答
0
您可以使用此代码转换字符串...如上所示
https://stackoverflow.com/a/14482490/627868 Ksg 答案。
<?php
$string_number = '1,120.01';
$number = (str_replace(',','',$string_number));
print $number;
?>
于 2013-01-23T14:49:49.763 回答
0
您可以从金额中去掉逗号并进行比较
if(((float)str_replace(',','',$amount)) < 300)
于 2013-01-23T14:50:03.513 回答