五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > JS/javascript取整數(shù) 取絕對值 四舍五入(可保留兩位小數(shù))方法整理

JS/javascript取整數(shù) 取絕對值 四舍五入(可保留兩位小數(shù))方法整理

文章來源:365jz.com     點擊數(shù):1859    更新時間:2017-12-08 11:12   參與評論
JS/javascript 小數(shù)取整的函數(shù):

1.丟棄小數(shù)部分,保留整數(shù)部分 

js:parseInt(7/2) 

2.向上取整,有小數(shù)就整數(shù)部分加1 

js: Math.ceil(7/2) 

3,四舍五入. 
js: Math.round(7/2) 

4,向下取整 

js: Math.floor(7/2)


JS/javascript取絕對值:

絕對值在js中我們直接使用abs函數(shù)來求,這里就來整理一些關(guān)于js中取得變量的絕對值的方法,以便讓大家更深入的理解js絕對值的用法

js中的絕對值不怎么常用到,今天在寫一個方法的時候遇到了,于是記錄下來,與大家共同學習。

js中的默認對象——Math對象下面有一個abs函數(shù),專門用來獲取數(shù)字的絕對值,如:

Math.abs(-1);  //1

Math.abs(-2);  //2

當然,這個函數(shù)也可以用來獲取到變量的絕對值,如:

var aaa=-3;

var bbb=abs(aaa);  //3

例子:

<script language="javascript">

document.write("0的絕對值為:",Math.abs(0),"<br>");

document.write("1的絕對值為:",Math.abs(1),"<br>");

document.write("-1的絕對值為:",Math.abs(-1),"<br>");

//-->

</script>

另一種方法:

我們知道數(shù)學里面的絕對值是不論小數(shù)或者整數(shù)的,這里面當然也是這樣。

var aaa=-3.3;

var bbb=abs(aaa);  //3.3

JS/javascript四舍五入:

方法一:
在js中四舍五入的函數(shù) tofixed(n) , n為要保留的小數(shù)位數(shù)。
n為0~20,當n超過20的時候,js會出錯。
var d=10.005;
  var f=d.tofixed(2);
  alert(f);
  bug:
  如果小數(shù)點前和要截取的前一位都是0時,不會按常理截取。
  var h=0.07
  h.tofixed(1)的值為0.0
  如果要修改這個缺陷,可以把js中的number類型的tofixed方法重寫。
例如:

 代碼示例:
number.prototype.tofixed = function(d)
  {
      var s=this+"";if(!d)d=0;
      if(s.indexof(".")==-1)s+=".";s+=new array(d+1).join("0");
      if (new regexp("^(-|\\+)?(\\d+(\\.\\d{0,"+ (d+1) +"})?)\\d*$").test(s))
      {
  var s="0"+ regexp.$2, pm=regexp.$1, a=regexp.$3.length, b=true;
  if (a==d+2){a=s.match(/\d/g); if (parseint(a[a.length-1])>4)
  {
      for(var i=a.length-2; i>=0; i--) {a[i] = parseint(a[i])+1;
      if(a[i]==10){a[i]=0; b=i!=1;} else break;}
  }
  s=a.join("").replace(new regexp("(\\d+)(\\d{"+d+"})\\d$"),"$1.$2");
      }if(b)s=s.substr(1);return (pm+s).replace(/\.$/, "");} return this+"";
};  

這樣就可以修復number類型的tofixed方法。

方法二:

之前一直在用這個js自帶的tofixed函數(shù)來進行四舍五入的操作,可是,在實際使用過程中卻遇到了問題。
比如

復制代碼 代碼示例:
var money=0.00542;//0.006;  
alert(number(money).tofixed(2));  
//0.00 

以上結(jié)果是錯誤的,下面的方法通過巧妙的使用math.round函數(shù),完全可以解決數(shù)值很小時的精度問題。

 代碼示例:
var money=0.00542;//0.006;  
alert(number(money).tofixed(2));  
 
function round2(number,fractiondigits){  
    with(math){  
        return round(number*pow(10,fractiondigits))/pow(10,fractiondigits);  
    }  
}  
alert(round2(money,2));//0.01
round 方法
返回與給出的數(shù)值表達式最接近的整數(shù)。
math.round(number)
必選項 number 參數(shù)是要舍入到最接近整數(shù)的值。
說明
如果 number 的小數(shù)部分大于等于 0.5,返回值是大于 number 的最小整數(shù)。
否則,round 返回小于等于 number 的最大整數(shù)。 

js 四舍五入函數(shù) toFixed(),里面的參數(shù) 就是保留小數(shù)的位數(shù)。
<script language="javascript">
document.write("<h1>JS保留兩位小數(shù)例子</h1><br>"); 
   var a=2.1512131231231321; 
   document.write("原來的值:"+a+"<br>"); 
   document.write("兩位小數(shù)點:"+a.toFixed(2)+"<br>四位小數(shù)點"+a.toFixed(4)); 
</script> 

如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答?。?點擊進入論壇

發(fā)表評論 (1859人查看,0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學習

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號