java中long和double类型问题

long和double类型问题

java long和double类型问题

double转long类型,会丢失小数点后面的位数,而且不会四舍五入。

public class TestDoubleAndLong {

	public static void main(String[] args) {
		double a = 7.56;
		long b = (long) a;
		System.out.println("b="+b);
		System.out.println("a四舍五入后="+Math.round(a));

	}

}

输出结果为:

b=7
a四舍五入后=8

遇到的例子:数据库字段是double类型的,java的po属性是long类型,使用的是mybatis框架,最后查询出来的值会导致小数点后面丢失。

javascript 处理double类型json

如果value是2.0,javascript取得后会是2。但是2.23, 2.03正常。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>测试double类型的json</title>
		<script type="text/javascript">
			window.onload=function(){
				var result = [{name:"Apple",price:8.0},{name:"Banana",price:8.46},{name:"Strawberry",price:8.57}];
				 var str = '<tr><th>水果</th><th>价格</th></tr>';
				 for(var i=0; i<result.length; i++){
					 str+='<tr><td>'+result[i].name+'</td><td>'+result[i].price+'</td></tr>';
				 }
				 document.getElementById("fruit").innerHTML=str;
			};
			
		</script>
	</head>
	<body>
		<table id="fruit" border="1" cellspacing="0">
		
		</table>
	</body>
</html>

输出结果为:
在这里插入图片描述

发布了37 篇原创文章 · 获赞 22 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/stormkai/article/details/89300212