php number_format()其中格式化字符串是一个变量

时间:2010-12-12 16:53:57

标签: php

当我尝试在php中使用数字格式时出现以下错误:

注意:遇到的格式不正确的数值

$number = 10345.34543;
$format = "0, ',', '.'";
echo number_format($number, $format);

我几乎是肯定的,因为我在字符串中持有格式化部分,但有没有办法解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:1)

您尝试传递参数的格式是不可能的。您传递的是字符串而不是int

expected parameters是:

string number_format ( float $number , 
                       int $decimals = 0 , 
                       string $dec_point = '.' , 
                       string $thousands_sep = ',' )

你需要相应地传递参数:

echo number_format($number, 0, ",", ".");

如果您有特殊的理由按照您展示的方式执行此操作,则必须使用非常气馁的eval(),或者call_user_func_array(),但您必须先详细解释一下您的情况正在努力做到。