如何以 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 %

【讨论】:

如何检查777 的长度? 通过将其转换为字符串 糟糕,我的例子错了,如果你有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 作为十进制值打印整数?的主要内容,如果未能解决你的问题,请参考以下文章

Java中的整数到两位十六进制

将整数向量打印为十进制数

如何在打印十六进制值时让Python使用大写字母?

如何打印最多 n 个十进制值的十进制数,如果最后忽略 0?

如何在 Python 中使用 json.dumps() 将整数打印为十六进制字符串

如何打印大于“unsigned long long”的“std::bitset”的十进制值?