Я только начал использовать ветку в drupal8. Я пытаюсь вычислить разницу между двумя численными переменными drupal8, используя представления.Drupal8 Twig - преобразовать строку в целое число
field_goals_for: 24
field_goals_against: 3
field_goals_difference: should return 21 but returns 1
Я уже пробовал что-то вроде этого (с и без number_formats):
{% set diff = field_goals_for|number_format - field_goals_against|number_format %}
{{ diff }}
Я предполагаю, что проблема заключается в том, что две переменные строки вместо междунар.
Есть способ конвертировать их в int и возвращать правильный результат с помощью веточки? Если у вас нет альтернативного решения?
EDIT: Я пытался SUM, а также НЕСКОЛЬКО два значения:
{{ field_goals_for }} = 24
{{ field_goals_against }} = 3
{{ field_goals_for - field_goals_against }} = 0
{{ field_goals_for + field_goals_against }} = 2
{{ field_goals_for * field_goals_against }} = 1
Почему они считаются равными 1, а не их реальной стоимостью?
EDIT 2: Я нашел проблему. Значение, которое было использовано, - field_goals_for__value вместо field_goals_for. К сожалению, я не могу найти способ использовать их оба в одном текстовом поле.
Вы пытались использовать 'intval' вместо' number_format'? – anatoli
Вам не нужно их преобразовывать, как видно [здесь] (http://twigfiddle.com/21xsoy), используя 'number_format', что заставляет номера обрабатываться как строки – DarkBee
Я пробовал оба ваших решения и ничего не работает. Я думаю, что проблема связана с drupal, но я не могу понять, как это сделать. {{field_goals_for}} возвращает 24, {{field_goals_for | intval}} возвращает 0 – ciaobetty