JSP的EL表达式中除法取整

博主在使用JSP的EL表达式处理后端传来的int数据时,发现两个整数相除结果总是带有小数点。尝试了类型转换和四舍五入等方法未果,最终通过使用`Math.round()`解决了问题,得到预期的整数结果。其他方法如`ceil()`和`floor()`并未奏效,只有`round()`能正常工作,原因未明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天回头瞅了瞅JSP。稍微敲了点代码。碰到一个比较恶心的坑。做个笔记,说不定能帮助到大家。
遇到问题是:
在使用JSP的EL表达式时,两个从后端传过来的int数据(暂定 a =10 ,b =5)。然后写了如下代码:

${a/b};

你们猜猜结果是啥。我本以为是2 。但是让人很难受的是,结果是2.0 。我还试了其他的赋值结果都是0.0 、1.0 、2.0 反正就是跟小数点过不去。
。。。
唉,真的难受。
我试了很多办法,类型转换啦。四舍五入啦。。。
在我想发起的时候,突然就搞定了。
先给代码

${Math.round(a/b)}

我试了类似的ceil,floor,是不行的。就round行。我也不知道什么原因。更不知道为啥两个int相处会有小数点。就做个笔记吧。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值