php如何格式化十进制数?

时间:2013-01-23 14:45:41

标签: php if-statement compare

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

3 个答案:

答案 0 :(得分:0)

您可以使用此代码转换字符串...从ABove

https://stackoverflow.com/a/14482490/627868 Ksg回答。

<?php
$string_number = '1,120.01';

$number = (str_replace(',','',$string_number));

print $number;

?>

答案 1 :(得分:0)

您可以从金额中删除逗号并进行比较 if(((float)str_replace(',','',$amount)) < 300)

答案 2 :(得分: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);
}