gpt4 book ai didi

php - Symfony 序列化程序返回字符串而不是 float

转载 作者:行者123 更新时间:2023-12-04 17:44:21 25 4
gpt4 key购买 nike

如何配置 Symfony 序列化程序组件以规范化对象(实体)的浮点属性?

详细说明:学说实体的 taxRate 属性映射到 PHP 浮点值。我想从具有 JSON 表示形式的 Controller 做出响应,例如:

{taxRate:0.19}

但是我得到的是

{taxRate:"0.19"}

实体的属性和注解的定义是:

class ExampleEntity {
/**
* @ORM\Column(type="decimal", precision=3, scale=2, nullable=true)
* @Groups({"api"})
*/
protected $taxRate;
}

Controller 看起来像这样:

$serializer = $this->get('serializer');
return new JsonResponse(
$serializer->normalize(
$exampleEntity,
'json',
[
'groups' => 'api',
]
)
);

我不喜欢在 JavaScript 端将字符串转换为 Float 的解决方案。我的应用想要断言该属性为 NULL 或 Float 值。

如何做到这一点?

最佳答案

感谢评论,我认为问题不是很清楚/可以删除。

序列化过程没问题,是我没弄对的Doctrine的映射。

完全没问题,DECIMAL Doctrine/MySQL 类型映射到 PHP 字符串。DECIMAL 旨在保证数值的精度。 PHP 的 float 类型不能保证相同的精度。

关于php - Symfony 序列化程序返回字符串而不是 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52812594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com