仅在 Liquid 中显示非整数的小数

Only show decimal for non-integers in Liquid

我认为非常简单,但如果可能的话无法解决。我在 Liquid 模板中有一个数字,如果它不是整数,它应该只有一个小数位。不幸的是,数据库存储了一个浮点数(我无法更改),所以我唯一的选择是尝试在 Liquid 中执行此操作。本质上,如果数字是 5.5 我希望它输出那个。但是它的数字是 5.0 我希望它输出 5

我找不到检查数字是否为浮点数的方法。想法?

这可以通过使用一些 liquid filters.

首先使用split 将数字按小数点分开,然后使用last 检查最后一个数字是否为0。最后使用 remove 摆脱 .0.

例如:

{% assign result = 5.0 %}
{% assign splitResult = result | split: '.' %}
{% if splitResult.last == '0' %}
  {% assign newResult = result | remove: '.0'  %}
{% else %}
  {% assign newResult = result %}
{% endif %}

{{ newResult}}

在这种情况下 {{ newResult }} 将输出 5.

希望对您有所帮助!