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类型进行比较。
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类型进行比较。
相关文章推荐
- Java数值避免浮点型计算丢失精度问题
- Java中不同数值类型间转换与计算精度丢失问题
- 解决java数值范围以及float与double精度丢失的问题
- 数值、金额类精度丢失问题
- java数值范围以及float与double精度丢失问题
- SpringMVC使用FastJson并解决长数值精度丢失问题
- Java中不同数值类型间转换与计算精度丢失问题
- asp读取数据库字段比较数值大小的问题
- jsp+mysql文件上传下载方法比较(解决中文编码问题)
- DateTime之时间比较(CompareTo)精度问题
- 也谈浮点精度问题:找回丢失的精度
- float,double等精度丢失问题
- 关于JavaScript中计算精度丢失的问题
- 【深入】浮点数的存储与精度丢失问题
- char和short都是双字节16bit长的数值类型,为什么相互赋值会提示精度丢失?
- double运算丢失精度问题解决方案.
- 问题之 “JSP 与 Servlet比较”
- SQL Server 临时表的数值精度损失问题
- java的数值精度问题
- JS中解决数值很小时四舍五入的精度问题