微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP:防止 json_encode 将 float 转换为 int

如何解决PHP:防止 json_encode 将 float 转换为 int

我需要将 50.00 中的小数形式的金额传递给 API,但是当金额为 json_encoded 时,它会将金额转换为 int 50。

示例代码

echo json_encode(['amount' => 50.00]);

显示

{"amount":50}

我需要金额保持为 50.00 本身。我该怎么做?

解决方法

您可以尝试使用 JSON_PRESERVE_ZERO_FRACTION 标志来确保浮点值始终编码为浮点值。请注意,该选项从 PHP 5.6.6 开始可用。

<?php
echo json_encode(['amount' => 50.00],JSON_PRESERVE_ZERO_FRACTION);
?>

请注意,虽然 JSON_PRESERVE_ZERO_FRACTION 是一个选项,但结果(如评论中提到的 @NigelRen)是 50.0,而不是 50.00

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。