我eval出一个1.0,然后我想转换为string型的,可结果老是1!这怎么搞的?
eval里面的是一个比较复杂的js,我不知结果是1.0还是1.00还是1.000,所以没法预先设置精度
请问各位大拿这怎么搞?

解决方案 »

  1.   

    var i=1.0;
    var s=1.0+"";//加一个空字符串
      

  2.   

    alert("" + 1.0 + "");不知楼上试过没有,不行
      

  3.   

    如果你函数中返回值是Number类型的,那没有办法做到你想要的效果,如果想让大家试试看,楼主可以贴出一份测试代码给大家。
      

  4.   

    果真是杯具,刚才看lz和3L头像不一样的
      

  5.   

    要从数值型转换到真正的字符串型,当然,这样的方法是最值得推荐的:
    var dbl = 1.0;
    var str = new String(dbl);
      

  6.   

    to xmliy: 位数是不定的,不能用toFixed()方法了,因为我不知输入的精度是多少位
      

  7.   

    javascript:(1.0).toFixed(1).toString()
      

  8.   

    var dbl = 1.0; 
    var str = new String(dbl); 
    不行吗?没道理嘛
      

  9.   

    反正只要答案就好了,既然这样就先转成STRING型的再截取前面三个字符嘛!~~~~~~~~
      

  10.   

    eval 结果是一个数字的话, 怎么会留有0在后面呢, 引擎不会发傻的....-------------把你 eval 的代码贴出来看一看吧, 给个样例. 别人才好尝试帮你
      

  11.   

    源码在此:
    var a = eval(1.0+10.00+10.00000);
    alert(a);
    要能显示出21.00000
      

  12.   

    我把eval拿掉试了一下toFixed,
    var a = 1.0+10.00+10.00000;
    alert(a.toFixed(5));
    这种是可以的,不过tofixed参数0-20,太长就over了。等待正解……