EasyAdmin 百分比字段
此字段用于表示存储百分比值的属性。
在表单页面(编辑和新建)中,它看起来像这样

基本信息
- PHP 类:
EasyCorp
\Bundle \EasyAdminBundle \Field \PercentField - Doctrine DBAL 类型 用于存储此值:
decimal
,float
或integer
- Symfony 表单类型 用于渲染字段: PercentType
渲染为:
1
<input type="text">
选项
setNumDecimals
默认情况下,百分比“按原样”显示,不添加或删除任何小数位。如果您想使用特定的小数位数格式化值,请使用此选项
1 2
// this would format 3 as 3.00 and 5.123 as 5.12
yield PercentField::new('...')->setNumDecimals(2);
setRoundingMode
默认情况下,当必须舍入某个值以减少小数位数时,该字段使用 PHP \NumberFormatter::ROUND_HALFUP
策略。使用此选项可以更改舍入策略,并将其参数传递为 PHP NumberFormatter 类的任何 ROUND_*
常量
1
yield PercentField::new('...')->setRoundingMode(\NumberFormatter::ROUND_CEILING);
setStoredAsFractional
默认情况下,百分比存储为从 0
到 1
的小数值(例如,15% 存储为 0.15
,67.84% 存储为 0.6784
)。如果您希望将百分比存储为从 0
到 100
的整数值,请将此选项设置为 false
// 如果您的百分比可以有小数,您必须将它们存储为小数值 yield PercentField::new('...')->setStoredAsFractional(false);
无论您如何存储这些值,EasyAdmin 始终将百分比显示为从 0
到 100
的值(例如,即使您在数据库中将 15% 存储为 0.15
,表单和列表也将始终显示 15%
)。
setSymbol
默认情况下,值会在它们旁边显示一个 %
,以使其更易于理解。使用此选项并传递 false
以不显示任何符号,或传递任何其他字符串以将其用作符号
1 2 3 4 5
// this won't display any symbol
yield PercentField::new('...')->setSymbol(false);
// this will display the "per mille" (per thousand) symbol next to values
yield PercentField::new('...')->setSymbol('‰');
本作品,包括代码示例,根据 Creative Commons BY-SA 3.0 许可获得许可。