FreeMarker For "?c" left-hand operand: Expected a number or boolean, but this evaluated to a string (wrapper: f.t.SimpleScalar) 不明白这个错和我的写法有什么关系?

这是我的语法

<#if datas?? && (datas?size > 0)>
<#list datas as head>
{
"sourceId":"${head.sourceId?c}",
"operaType":"${head.operaType!}"
}
</#list>
</#if>

如果改成以下,就不报错,但是我就没办法处理超过四位数带逗号的数字格式

<#if datas?? && (datas?size > 0)>
<#list datas as head>
{
"sourceId":"${head.sourceId}",
"operaType":"${head.operaType!}"
}
</#list>
</#if>

其中 ${head.sourceId} 这个数值实际为"1480",请问这种不能加?c的语法吗?还是只能数字才可以加?c 我把"${head.sourceId?c}"改成${head.sourceId?c}
也报相同的cuo'wu

1个回答

?c是干什么用的呢,看看??

weixin_44058725
谷雨521 回复qq_34029449: head.sourceId,检查一下看看这个的值,类型是不是数字或布尔值
5 个月之前 回复
weixin_44058725
谷雨521 回复qq_34029449: 这个错意思是:自由标记“?C“左侧操作数:应为数字或布尔值,但其计算结果为字符串(包装:f.t.simplescaler)
5 个月之前 回复
qq_34029449
qq_34029449 数字格式化,超过4位数字带逗号的处理方式
5 个月之前 回复
qq_34029449
qq_34029449 数字格式化,超过4位数字带逗号
5 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问