freemarker---大数字自动加逗号分隔&更大数字认为是字符串不用逗号分隔

使用freemarker的时候遇到了一个小问题,
freemarker默认会对大数字进行逗号分隔,如果我们不想让他逗号分隔,我们可以

加?c 不让他对数字用逗号分隔

但是我的业务场景是,想让他用逗号分隔,但是出现了一个问题,就是对于有些列他没有用逗号分隔:
这里写图片描述

是不是因为数字太大了,所以他直接把他作为字符串来处理了呢!
猜想是对的,确实是转为了字符串,如果想让他用逗号分隔,那么我们需要告诉freemarker这个是一number,因此

加?number 将字符串转为number,因此freemarker就可以对number进行逗号分隔。

这里写图片描述
问题解决了。

然后我考虑,是不是把所有的列都用?number 转一下,这样,以后遇到同样的问题,就不会报错了。
但是悲催的是,他对于低于11位的数字,默认会进行加逗号转为string操作,因此我再进行?number,就会报错了。

Can’t convert this string to number: “24,837,054”

因此这个问题,不是很好处理,那么怎么统一解决呢,
我的想法不管大数字还是更大的数字,都会转为string,所以,可以把string转为number,如果成功说明是特大数字,没有逗号分隔的,否则就是大数字,不用处理。
对于特大数字,转number。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值