php如何格式化十进制数?
我有一个像$amount='1120.01'这样的数字,我需要与一个整数进行比较(例如,if($amount<300){do this}})。但是由于某些原因,php认为这样的数字(1120.01或300.00)的值较低,所以我想知道应该如何格式化它。您可以使用此代码转换字符串…如上所述 Ksg回答php如何格式化十进制数?,php,if-statement,compare,Php,If Statement,Compare,我有一个像$amount='1120.01'这样的数字,我需要与一个整数进行比较(例如,if($amount
<?php
$string_number = '1,120.01';
$number = (str_replace(',','',$string_number));
print $number;
?>
您可以从金额中去掉逗号并进行类似的比较
如果(((float)str_replace(“,”,“,$amount))<300)
您可以尝试
$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;
}
使用的功能
function format($number) {
$places = strlen(substr(strrchr($number, "."), 1));
$number = filter_var($number, FILTER_SANITIZE_NUMBER_INT);
return $number / pow(10, $places);
}
你不能使用逗号(数千个分隔符)。我想你的意思是
$amount='1120.01'
(即作为字符串)对吗?@BenM没错!它是关于字符串的。只要用空字符串替换逗号,并将结果转换为(float)。所以我觉得它是字符串…因为你在问题中提到了$amount='1120.01',对吗?
function format($number) {
$places = strlen(substr(strrchr($number, "."), 1));
$number = filter_var($number, FILTER_SANITIZE_NUMBER_INT);
return $number / pow(10, $places);
}