问题描述
我在我的 symfony 应用程序中处理带有很多小数位的数字。例如,在我的学说实体中,我有这个属性:
/**
* @ORM\Column(type="float")
*/
private float $value;
在我的 mysql 数据库中,我有这个值,例如:0.00000000020828579949508
当我在 PHP 中转储它时,我得到了这个:float(9.3722658865184E-7)。我还使用 FOSRestBundle 制作了一个 API。在那个 API 中,我想返回不是指数形式的值,至少有 12 个小数位。我认为在这种情况下我必须提供字符串形式的值,对吗?我发现我可以用这样的东西把它转换成字符串:sprintf("%.12f",$myEntity->getValue())
。但我现在有两个问题:
- 如何使用 FOSRestBundle 转换单个属性以进行响应?所以我将“value”属性作为字符串返回,即使它通常是一个浮点数。
- 在 symfony、学说和 FOSRestBundle 中是否有通用的最佳实践或任何提示来处理这些数字?
现在这是我的控制器操作:
public function getData(): Response
{
$repository = $this->getDoctrine()->getRepository(MyEntity::class);
$data = $repository->findAll();
return $this->handleView($this->view($data));
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)