php number_format()抛出其他字符而不是数字

php number_format()抛出其他字符而不是数字,php,number-formatting,Php,Number Formatting,我一直在使用number_format(),这是我第一次遇到这种错误 echo number_format($cost, 2); 输出为:>.00 应该是:50.00(只是一个样本) $cost的值来自数据库,其数据类型为float 有人能帮忙吗 谢谢, 贾斯汀(Justin)当你var_dump($cost)时,你会得到什么来自数据库的数据将是字符串,即使列类型是float。您可以使用floatval($cost)在PHP中强制转换为float。@EliasVanOotegem-我明白了。字

我一直在使用number_format(),这是我第一次遇到这种错误

echo number_format($cost, 2);
输出为:>.00

应该是:50.00(只是一个样本)

$cost
的值来自数据库,其数据类型为
float

有人能帮忙吗

谢谢,
贾斯汀(Justin)

当你
var_dump($cost)时,你会得到什么来自数据库的数据将是字符串,即使列类型是float。您可以使用
floatval($cost)
在PHP中强制转换为float。@EliasVanOotegem-我明白了。字符串(4)“5500”字符串(4)“1550”字符串(4)“1550”@Tim-我已经试过了。(float)$cost和floatval($cost),什么也没有发生。您确定
.00
是格式化函数的实际输出吗?这看起来更像是字符编码的问题。。。可能是您正在将结果回显到网页上,并在浏览器中阅读
.00
?这可能是误导。在调试这些东西时,请在命令行上使用php,以确保看到得到的结果。