Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

String `%` operand raises a coercion error instead of printf-style formatting

Aberta
#1,340 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
76/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
java
Domínio
backend

Direção de pesquisa

Start with the % handling in src/main/java/com/hubspot/jinjava/el/ext/ExtendedParser.java:421-424 and run the supplied {{ 'number'%r }} reproduction. Trace how AstBinary.MOD processes the operands, then verify that the string-left-operand case renders as Jinja2 does without the reported coercion error.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Jinja2 applies printf-style formatting to 'text' % operand. Jinjava parses % as the JUEL modulo operator and coerces the left operand to a number, so a string left operand fails to render.

Affected: master df50b0d7. Releases 2.7.6, 2.8.3 and 2.8.4 behave the same.

Reproduction

{{ 'number'%r }}

Jinja2 renders number. Jinjava raises:

com.hubspot.jinjava.interpret.FatalTemplateErrorsException: Cannot coerce 'number' of class java.lang.String to class java.lang.Double (incompatible value)

Root cause

ExtendedParser maps the % token to AstBinary.MOD (src/main/java/com/hubspot/jinjava/el/ext/ExtendedParser.java:421-424). The JUEL implementation of MOD converts both operands to numbers, and there is no string formatting path for a string left operand.

Linguagem predominante
Java
Estrelas
787
Forks
184
Merge médio
6d 22h
PRs com merge (30d)
1

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de HubSpot/jinjava

Todas as issues de HubSpot/jinjava

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.