所以我在PHP中执行以下操作:
$cost = $this->reportDataStructure['ext_cost'] / $this->reportDataStructure['quantity'];
var_dump($cost); // Outputs: float(220)
$this->reportDataStructure['cost'] = sprintf("%$.2f", $cost);
我一直在
Warning: sprintf(): Argument number must be greater than zero in C:\xampp\htdocs\rms\site\web\module\Report\controller\InventoryReport.controller.php on line 98
属于该行:
$this->reportDataStructure['cost'] = sprintf("%$.2f", $cost);
但我们可以看到:
var_dump($cost); // Outputs: float(220)
最近怎么回事?
答案 0 :(得分:8)
$
格式字符串中使用 printf
来指定使用后面的说明符打印哪个参数,例如
sprintf('%2$f %1$d', $var1, $var2);
表示它会将$var2
显示为浮点数,然后将$var1
显示为整数。
您的格式字符串中有$
,但之前没有数字。所以数字不大于0.
如果您使用该格式字符串解释您要完成的任务,我可以使用正确的方法更新答案。