在 freemarker 中格式化 phone 数字
Format phone number in freemarker
我有一个 10 位数的号码,需要显示为 phone 格式的号码。
Eg: 1234567890 needs to be formatted in (123) 456-7890
我已经尝试使用 freemarker 中的内置数字格式化它,但不知何故仍然无法以预期的格式获得它。
我认为 Java SimpleNumberFormat
模式不可能做到这一点,FreeMarker 在您编写 '0.##'
之类的东西时会使用这种模式。但是自定义数字格式没有限制(请参阅 http://freemarker.org/docs/pgui_config_custom_formats.html),例如,您可以拥有类似 ${n?string.@phone}
的东西,它可以执行所有类型的 Java 逻辑。
但是,我想指出,数据模型本身可能存在问题。实际上,phone 数字不是数字,而是字符串(甚至是结构)。它们可以包含重要字符,例如 +
(甚至 #
)。更不用说/
,万一你要拨分机呢
我有一个 10 位数的号码,需要显示为 phone 格式的号码。
Eg: 1234567890 needs to be formatted in (123) 456-7890
我已经尝试使用 freemarker 中的内置数字格式化它,但不知何故仍然无法以预期的格式获得它。
我认为 Java SimpleNumberFormat
模式不可能做到这一点,FreeMarker 在您编写 '0.##'
之类的东西时会使用这种模式。但是自定义数字格式没有限制(请参阅 http://freemarker.org/docs/pgui_config_custom_formats.html),例如,您可以拥有类似 ${n?string.@phone}
的东西,它可以执行所有类型的 Java 逻辑。
但是,我想指出,数据模型本身可能存在问题。实际上,phone 数字不是数字,而是字符串(甚至是结构)。它们可以包含重要字符,例如 +
(甚至 #
)。更不用说/
,万一你要拨分机呢