日期:2014-05-17  浏览次数:20668 次

绑定的数据在js中弹出问题,遇到一个奇怪的问题,什么办法都不好使啊。
在java中绑定一个数据,在js中获取,弹出类型是string,但是弹出的是科学计数法的串,是什么原因啊?怎么解决呢???????

------解决方案--------------------
肯定是js获取成字符串的,parse一下就行了。
------解决方案--------------------
java中绑定的数据是String的?
java中绑定的数据是什么类型的,能举个例子不。
------解决方案--------------------

<html>
<head>
<title>Untitled</title>
<script language="javascript">
function _onload() {
var s = parseFloat(3.111e1).toString();
alert(s);
alert(typeof s);
}
</script>
</head>
<body onLoad="_onload();">
Hello World!
</body>
</html>

------解决方案--------------------
#4楼说的没错,弹出31.11
------解决方案--------------------
那是因为JS取出的参数会当成数值类型的,我之前也遇到过类似的:传01  JS给我1,加\'01'\才解决。你这个看看适不适用,不行的话123456789加上一个A变成1234567889A到JS后再解析也可以。
------解决方案--------------------
试试用js的format 方法对输出的值进行格式化一下。也可以在除给js之前在java code中对需要传递的值进行格式化一下。在传给js:
String var = "1111111111111111111111";
Double dVar = Double.valueOf(var);
System.out.println(dVar);
DecimalFormat df = new DecimalFormat("0.00"); 
String num = df.format(dVar); 
System.out.println(String.valueOf(num)); 
------解决方案--------------------
var t="<%=session.getAttribute("num")%>"

把上面一段在jsp中改下 改为:var t = "${num}";
当然你要保证 num在java当中是字符串 如在java中 session.setArribute("num",String.valueOf(num));(如果num不是一个字符串)
------解决方案--------------------
var t="<%=session.getAttribute("num")%>";