php - PHP:防止 json_encode 将 float 转换为 int
问题描述
我需要以小数形式将金额(如 50.00)传递给 API,但是当金额为 json_encoded 时,它会将金额转换为 int 50。
示例代码:
echo json_encode(['amount' => 50.00]);
这显示
{“金额”: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
, not 50.00
。
推荐阅读
- android - 如何在 Spring 后端使用 Android 进行 GET
- python - 硒 - 蟒蛇。如何捕获网络流量的响应
- android - 适用于 Android Circle CI 的 Nativescript Cloud 构建
- python - 如何检测边缘、边缘的方向并分离每个不同的边缘以进行进一步的单独处理
- sonarqube - SonarQube Scanner 执行失败:java 不能被索引两次
- django - Django Queryset .save() 很慢
- javascript - 在 React/redux 中通过 debounce 看到第一次输入事件被触发到事件处理程序的显着延迟
- python - 将 df.apply() 与 datetime.strptime 一起使用的语法
- sql - 获取正确字段的 SQL 查询
- docker - 如何访问在 docker 容器中运行的 spring 应用程序?