symfony - 如何在 symfony 2 中创建接受带有逗号或句点的数字的数字字段

标签 symfony decimal

我有一个带有小数字段的应用程序,例如:

/**
 * @var decimal $amount
 *
 * @ORM\Column(name="amount", type="decimal", scale="2")
 */
private $amount;

我希望表单接受“3,4”或“3.4”等格式的数字。

如果我输入“3.4”,应用程序将保存在数据库“3.4”中,如果我输入“3,4”,应用程序将保存在数据库“34”中(是的,没有逗号,并且不会显示验证错误!)。

(这是一个已知的 symfony 错误: https://github.com/symfony/symfony/issues/2059 )

那么,我如何接受带逗号和小数点的数字?

(我已经尝试在 DataTrasformer 中用点替换逗号,但 DataTransformer 采用已标准化的数字。)

最佳答案

我找到了一种使用 DataTransformer 和appendClientTransformer 的解决方法,以下是代码片段:https://gist.github.com/3394880

关于symfony - 如何在 symfony 2 中创建接受带有逗号或句点的数字的数字字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12026050/

相关文章:

php - 如何升级 symfony 小版本(4.1 到 4.2)

symfony - Symfony2中如何实现角色/资源ACL

c# - 在 C# 中,十进制值在第一个小数点处停止

python - NumPy:将小数转换为分数

c# - 十进制与双倍! - 我应该在什么时候使用哪一个?

php - 如何修改现有的 javascript 以显示包括美分在内的货币值?

php - 使用 preRemove/postRemove 事件来获取哪些查询可以执行,哪些不可以

php - 登录表单不起作用,在 Symfony2 中提交后继续加载

php - 检查用户是否在另一个系统中登录问题

c - 如何将浮点值四舍五入到最接近的十进制值?