将 SESSION + 短代码的提交值四舍五入,保留 2 位小数

Round a submission value from SESSION + shortcode with 2 decimals

谁能给我解释一下 AFTER 这行代码有什么问题。

之前(示例 - 如何使用):

"value" => "27.50" //enforce the use of strings

之后

"value" => "round($_SESSION["Payment_Amount"], 2)" //Think of that Payment_Amount is 198,99 in session.

如能解释出错原因,将不胜感激。

我建议使用 sprintfnumber_format 之类的格式化函数,而不是 round

"value" => sprintf('%0.2f', $_SESSION["Payment_Amount"])

有两个原因:

  1. 它将return一个字符串。看起来你引用了这个值,因为你需要它是一个字符串。
  2. 显示小数点后两位。看起来这就是你想要的,如果碰巧有尾随零,round 不会显示它们,因为它 return 是一个浮点数,而浮点数在转换时不显示尾随零到字符串。