1

我有一个像 $amount = '1,120.01' 这样的数字,我需要与一个整数进行比较(例如 if($amount < 300) { do this } }。但是由于某些原因,php 看到这样的数字(1,120.01 或 300.00)有一个较低的价值,所以我想知道我应该如何格式化它。

4

3 回答 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 回答