您的位置:首页 > Web前端 > JavaScript

jsp中比较数值精度丢失问题

2017-05-12 17:48 1141 查看
现象:
 version 后台传值:float 9.66

jsp中

${version > =9.66}  false

${version <= 9.66}  true



原因:
1.jsp属于服务端代码,9.66默认是double类型。
2.jsp中$取值是有类型的
3.所以,[b]${version > =9.66} 实际是float类型和double类型做比较时精度丢失导致的,[/b]
[b]具体是因为做比较时,float类型被强制转成double类型造成精度丢失。[/b]


可看下边的例子:





所以在jsp中进行数值比较的时候要统一数据类型,统一使用double类型进行比较。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: