1. js編寫一個函數,計算兩個數字的和、差、積、商(要求:使用傳參的形式)
/**
**除法函數,用來得到精確的除法結果
**說明:javascript的除法結果會有誤差,在兩個浮點數相除的時候會比較明顯。這個函數返回較為精確的除法結果。
**調用:accDiv(arg1,arg2)
**返回值:arg1除以arg2的精確結果
**/functionaccDiv(arg1,arg2){vart1=0,t2=0,r1,r2;try{
t1=arg1.toString().split(".")[1].length;
}catch(e){
}try{
t2=arg2.toString().split(".")[1].length;
}catch(e){
}with(Math){
r1=Number(arg1.toString().replace(".",""));
r2=Number(arg2.toString().replace(".",""));return(r1/r2)*pow(10,t2-t1);
}
}//給Number類型增加一個div方法,調用起來更加方便。Number.prototype.div=function(arg){returnaccDiv(this,arg);
};/**
**乘法函數,用來得到精確的乘法結果
**說明:javascript的乘法結果會有誤差,在兩個浮點數相乘的時候會比較明顯。這個函數返回較為精確的乘法結果。
**調用:accMul(arg1,arg2)
**返回值:arg1乘以arg2的精確結果
**/functionaccMul(arg1,arg2){varm=0,s1=arg1.toString(),s2=arg2.toString();try{
m+=s1.split(".")[1].length;
}catch(e){
}try{
m+=s2.split(".")[1].length;
}catch(e){
}returnNumber(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m);
}//給Number類型增加一個mul方法,調用起來更加方便。Number.prototype.mul=function(arg){returnaccMul(arg,this);
};/**
**減法函數,用來得到精確的減法結果
**說明:javascript的減法結果會有誤差,在兩個浮點數相減的時候會比較明顯。這個函數返回較為精確的減法結果。
**調用:accSub(arg1,arg2)
**返回值:arg1加上arg2的精確結果
**/functionaccSub(arg1,arg2){varr1,r2,m,n;try{
r1=arg1.toString().split(".")[1].length;
}catch(e){
r1=0;
}try{
r2=arg2.toString().split(".")[1].length;
}catch(e){
r2=0;
}
m=Math.pow(10,Math.max(r1,r2));//lastmodifybydeeka//動態控制精度長度
n=(r1>=r2)?r1:r2;return((arg1*m-arg2*m)/m).toFixed(n);
}//給Number類型增加一個mul方法,調用起來更加方便。Number.prototype.sub=function(arg){returnaccMul(arg,this);
};/**
**加法函數,用來得到精確的加法結果
**說明:javascript的加法結果會有誤差,在兩個浮點數相加的時候會比較明顯。這個函數返回較為精確的加法結果。
**調用:accAdd(arg1,arg2)
**返回值:arg1加上arg2的精確結果
**/functionaccAdd(arg1,arg2){varr1,r2,m,c;try{
r1=arg1.toString().split(".")[1].length;
}catch(e){
r1=0;
}try{
r2=arg2.toString().split(".")[1].length;
}catch(e){
r2=0;
}
c=Math.abs(r1-r2);
m=Math.pow(10,Math.max(r1,r2));if(c>0){varcm=Math.pow(10,c);if(r1>r2){
arg1=Number(arg1.toString().replace(".",""));
arg2=Number(arg2.toString().replace(".",""))*cm;
}else{
arg1=Number(arg1.toString().replace(".",""))*cm;
arg2=Number(arg2.toString().replace(".",""));
}
}else{
arg1=Number(arg1.toString().replace(".",""));
arg2=Number(arg2.toString().replace(".",""));
}return(arg1+arg2)/m;
}//給Number類型增加一個add方法,調用起來更加方便。Number.prototype.add=function(arg){returnaccAdd(arg,this);
};
2. 兩數相加的總和JS自動計算代碼怎麼寫
我需要得到js實現兩個數字相加的結果,可是js總是默認按照字元串處理,將兩個回數字連接起來。
解決這個答問題,代碼如下:
<script type="text/javascript"> var a = 1; var b = 2; var sum = parseInt(a) + parseInt(b); </script>
1
2
3
4
5
parseInt()是js的解析字元串的函數,返回解析後的數字。
3. 一個&在js中代表什麼意思
在js里,抄一個&表示運算襲符按位與,就是把兩個二進制數按每一位比較,兩個都為1則為1,否則為0(也類似與且,都真才為真)
比如 1111&0110 = 0110。
如果不是二進制數比較,需要先把這兩個數轉換為二進制,比如
15&6 = 1111&0110 = 0110 = 6;
(3)js與運算兩個數字擴展閱讀:
按位與運算符「&」是雙目運算符。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位都為1時,結果位才為1。參與運算的兩個數均以補碼出現。
整數在計算機中用二進制的位來表示,一些運算符可以直接操作整數中的位,稱為位運算,這些運算符的操作數都必須是整型的。
按位與運算通常用來對某些位清0或保留某些位,例如把a 的高八位清 0 , 保留低八位, 可作 a&255 運算 ( 255 的二進制數為11111111)。
4. (用javascript)輸入兩個整數,求兩個數之間的和
<script language="javascript">
<!--
var a,b,sum=0;
a=prompt("第一個數","");
b=prompt("第二個數","");
for(i=a;i<=b;i++)
{
sum=sum+parseInt(i,10);
}
alert(""+sum+"");
-->
</script>
我詳細解釋下:
正如你所看到的,我只是修改了sum=sum+i;代碼,將它改為了sum=sum+parseInt(i,10);
這是因為i不是數字而是字元串,為什麼呢,因為a=prompt("第一個數","");中prompt對話框都返回的是字元串,故a是字元串,for(i=a;i<=b;i++)中,a賦予i,故i是字元串了。字元串進行+運算的時候,它的作用不再是數學上的意義了,而是連接連個字元串,所以它他只顯示你輸入2個數間的順序。
了解了這個,再看數字和字元串進行+運算的情況,請記住,任何與字元串進行+運算都將 不是字元串的運算元 隱式轉化為字元串再連接連個兩個字元串。
結論,只有當數字不和字元串進行+運算時,+的作用才是數學意義上的求和,否則起連接字元串的作用。
推廣:1、字元串與任何數據類型的數據執行+運算的將是連接字元串的作用。
2、數值與數值、布爾類型執行+運算,則是求和舉個例子:
<script language="javascript">
<!--
var s=true;
alert(s+"1");
-->
</script>
是不是2呢,因為true表示1啊。
5. js兩個數字求和求高手留下
用純js的話下面這樣寫:
<span id="a">10</span> <span id="b">11</span>
<span id="c"></span>
<script>
var a=document.getElementById("a").innerHTML;
var b=document.getElementById("b").innerHTML;
var c=Number(a) + Number(b);
document.getElementById("c").innerHTML=c;
</script>