<script> 
    function   sub(){ 
//开始编号 
var   simstartcode   =   document.all('simstartcode').value.trim(); 
simstartcode = simstartcode - '0'; // 转数字
//结束编号 
var     simendcode   =   document.all('simendcode').value.trim();      simendcode = simendcode - '0';// 转数字
      var   vv   =   simendcode   -   simstartcode       注:现在simendcode   与simstartcode   都是20位数字..如何让它进行有效的相加减,, 
} </script> 注意:加减法时需要把变量由字符串转为数字类型   

解决方案 »

  1.   

    var vv = parseInt(simstartcode) - parseInt(simendcode);
    其实js里面,如果两个值都是纯数字字符串的时候,就是有效的数字相减,没必要parseInt转换
      

  2.   

    按3楼的做法就行了,取document.getElementById('xxx').value全部都是String类型,必须转换成Number类型。
      

  3.   

    还是不管用呀:
    <script>

    function sub(){

    var start = document.getElementById('start').value;//必须是20位数字
    var end =  document.getElementById('end').value;//必须是20位数字
    start = start.Number(start);
    end = end.Number(end);
    var str = end-start;
    alert(str);
    }
    </script><form>
    开始<input type=text name="start" id="start" maxlength="20">
    结束<input type="text" name="end" id="end" maxlength="20">
    <input type="button" onclick="sub()" value="submit">
    </form>
      

  4.   

    这应该与JS中对整型数的精度有关,你可以看一下以下网址的内容:http://blog.sina.com.cn/s/blog_556a27fb01000896.html,还有教你一个简单的数字与字符串之间的转换方法:
    字符串转数字:str = str - "0";// 字符串减去内容为零的字符串
    数字转字符串:num = num + "";// 数字加空串
      

  5.   

    Javascript内有下面几种变量类型。"object", "string", "number", "function", "boolean";var thevar = 10;
    alert(typeof(thevar));
    //结果是"number"var thevar = "10";
    alert(typeof(thevar));
    //结果是"string"
    你从文本框 oObj.value 得到的,默认是 "string" 字符型的。要对他们进行数字加减。可以使用类型强置转换var nNum = Number(document.all.simstartcode.value.value);Number注意大小写, nNum 就可以进行数字的加减了。看得出来,楼主一定用的是IE浏览器。
    document.all这样的标示,都是M$害的。
    W3C标准,是不能这样访问DOM对象的。这样的代码,在FireFox,或任何一个非IE内核的浏览器,会报错。
    W3C标准推荐的是这样:
    var oObj = document.getElementById("simstartcode");
    var nNum = Nubmer(oObj.value);
      

  6.   

    var vv=eval(simendcode-simstartcode)
      

  7.   

    var sub = parseInt(simstartcode) - parseInt(simendcode);
      

  8.   

    大家的几个方法我都试过了..还是不行
    <script> function   sub(){ 
    var   start   =   document.getElementById('start').value; //必须是20位数字 
    var   end   =   document.getElementById('end').value; //必须是20位数字 
    var   vv = eval(end-start)alert(vv); 

    </script>
    <form> 
    开始 <input   type=text   name="start"   id="start"   maxlength="20"> 
    结束 <input   type="text"   name="end"   id="end"   maxlength="20"> 
    <input   type="button"   onclick="sub()"   value="submit"> 
    </form> 
      

  9.   

    后知后觉回一帖。大的整型变量计算得自己写吧。Javascript目前好像只支持4字节。以下从 google 上搜索到的几个 JavaScript 版本的的大整数运算库。   1. http://www.onicos.com/staff/iz/amuse/javascript/expert/BigInt.txt 这是比较早期的一个 JavaScript 版本的大数运算库,由日本高手出雲所作,其中只包含了加减乘除、模(求余)和比较运算。
       2. http://www.faireal.net/demo/bigint0.5/beta28/ 这是另一个日本高手的作品,这个库中包含的功能非常全,它的历史可以参见该文。
       3. http://www.leemon.com/crypto/BigInt.js 这个是美国高手 Leemon Baird 的作品,所实现的功能也非常全。
       4. http://www.ohdave.com/rsa/BigInt.js 最后这个来自 dave 的 RSA In JavaScript 网站,这个虽然功能没有前两个强大,但是使用比较方便,做一般的浏览器端加密部分已经够用了。