如何以 0 作为十进制值打印整数?
Posted
技术标签:
【中文标题】如何以 0 作为十进制值打印整数?【英文标题】:How to print integer with 0 as a decimal value? 【发布时间】:2016-04-26 05:12:16 【问题描述】:我有一个来自数据库的号码,例如 7.0 或 7.7 。当我打印值时, 7.7 按原样打印,但 7.0 仅打印为 7。有没有办法将 7.0 打印为 7.0 。我在 sf2 中使用 twig 模板。
这就是我打印这些值的方式
object.value
【问题讨论】:
使用floatval()
函数。
【参考方案1】:
您可以使用number_format
Twig 过滤器,例如:
object.value|number_format
完整示例:
9800.333|number_format(2, '.', ',')
更多信息在doc here
【讨论】:
应该改为number_format(1, '.', ',')
吗?看起来 OP 只想要一位小数。【参考方案2】:
这可能不是正确的方法,但至少我有一些工作
首先我检查了长度,如果长度是 1 或 2,我打印了值并附加了 .0
否则我只是打印了值。
% if (device.ph_value|length == 1 or device.ph_value|length == 2)%
device.ph_value.0
% else %
device.ph_value
% endif %
【讨论】:
如何检查7
或77
的长度?
通过将其转换为字符串
糟糕,我的例子错了,如果你有777
呢?
嗨@A.L,该值只能是小数点后的一位数或两位数。【参考方案3】:
echo number_format(object.value,1);
这应该将 7.0 输入为 7.0 而不是 7
【讨论】:
但是如果数字像 7.89 怎么办。我想按原样展示它。谢谢大佬解答 我的建议是使用 strlen 来读取字符串的长度,并在本例中减去 1。Strlen() =3 -1 =2。 Number_format(vvv,2);但你需要编码 其实我用的是twig模板所以正常的php函数是不行的 你可以写一个twig过滤器来包装普通的php函数。 twig.sensiolabs.org/doc/filters/number_format.html 这个过滤器适用于树枝【参考方案4】:你可以做一些进一步的事情来保持价值。
$integer = filter_var(7.7, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
print_r($integer);
output
7.7
【讨论】:
如何在 Twig 模板中使用它?以上是关于如何以 0 作为十进制值打印整数?的主要内容,如果未能解决你的问题,请参考以下文章