js 取整,四捨五入,數字字串轉換

2021-08-31 18:25:33 字數 4641 閱讀 5242

取整:

向下取整math.floor(),向上取整math.ceil(),四捨五入math.round()),保留有效數字n.tofixed(),產生大於等於0小於1的隨機數math.random()

功能函式示例

整型向下取整

math.floor()

math.floor(1.1)==>1

向上取整

math.ceil()

math.ceil(1.1) ==>2

四捨五入

math.round()

math.round(1.1)==>1

math.round(1.6)==>2

浮點型保留有效數字 

n.tofixed()

1.442.tofixed(2)==>1.44

1.446.tofixed(2)==>1.45

隨機數math.random()

math.random()==>0.38078270980122775

字串轉換成數字:

將字串轉換成數字,用parseint()函式和parsefloat()函式,isnan()函式來檢測 轉換後的型別

var i = parseint('abc');

if (isnan(i))

注意:

parseint:結果返回乙個整數

如果 string 以 "0x" 開頭,parseint() 會把 string 的其餘部分解析為十六進製制的整數。如果 string 以 0 開頭,那麼 ecmascript v3 允許 parseint() 的乙個實現把其後的字元解析為八進位制或十六進製制的數字。如果 string 以 1 ~ 9 的數字開頭,parseint() 將把它解析為十進位制的整數

如果解析不到數字,則將返回乙個nan的值,可以用isnan()函式來檢測;

parseint("10");//返回 10

parseint("19",10);//返回 19 (10+9)

parseint("11",2);//返回 3 (2+1)

parseint("17",8);//返回 15 (8+7)

parseint("1f",16);//返回 31 (16+15)

parseint("010");//未定:返回 10 或 8(在谷歌,火狐,360極速瀏覽器上測試的結果均為10)

parsefloat:結果返回乙個浮點數

如果在解析過程中遇到了正負號(+ 或 -)、數字 (0-9)、小數點,或者科學記數法中的指數(e 或 e)以外的字元,則它會忽略該字元以及之後的所有字元,返回當前已經解析到的浮點數。同時引數字串首位的空白符會被忽略。  

console.log(parsefloat("10"))//10

console.log(parsefloat("10.00"))//10

console.log(parsefloat("10.33"))

console.log(parsefloat("34 45 66"))//34

console.log(parsefloat(" 60 "))//60

console.log(parsefloat("40 years"))//40

console.log(parsefloat("he was 40"))//nan

console.log(parsefloat("3.14"))

console.log(parsefloat("314e-2"))

console.log(parsefloat("0.0314e+2"))

console.log(parsefloat("3.14more n"))

console.log(parsefloat("-3.14"))

console.log(parsefloat("=3.14"))//nan

console.log(parsefloat("314e-2"))//nan

console.log(parsefloat("e3.14"))//nan

js數字轉換成字串

將字串轉換成數字,得用到string類的tostring方法

vari = 10;

vars = i.tostring();

alert(typeofs);//將輸出 string----typeof i number

js數字與字串的區別

js的數字的加法與字串的連線都是 + 符號, 所以究竟是加還是字串的連線就取決與變數的型別。

vara ='abc'+'def';//abcdef,字串與字串是連線

vara = 10 + 5;//15,數字是加

vara ='abc'+ 23;//abc23,字串與數字,自動將10轉換成字串了

vara ='abc'+ 10 + 20 +'cd';//abc1020cd

vara = 10 + 20 +'abc'+'cd';//30abccd,可以數字加的先數字加,然後再連線

vara = 10 +'20';//1020 string

vara = 10 -'20';//-10 number

vara ='20'+ 10;//20100 string

ar a ='20'- 10;//10 number

如果從html頁面元素得到的值,想按數字加,就需要先轉換為數字,因為從頁面得到的值預設是字串

關於數字取整 四捨五入

在做購物車中,涉及購物車小計 產品 為有兩位小數的浮點數,在購物車頁面上從後台獲取資料商品數量及商品 在js中做計算顯示到頁面 出現例如 的情況。解決 採用tofixed 方法進行處理。非同步載入購物車詳情 function url data cart detail page.php success...

js 向上取整 向下取整 四捨五入

1.只保留整數部分 丟棄小數部分 parseint 5.1234 5 2.向下取整 該數值的最大整數 和parseint 一樣 math.floor 5.1234 5 3.向上取整 有小數,整數就 1 math.ceil 5.1234 4.四捨五入 小數部分 math.round 5.1234 5m...

js 向上取整 向下取整 四捨五入

1.只保留整數部分 丟棄小數部分 parseint 5.1234 5 2.向下取整 該數值的最大整數 和parseint 一樣 math.floor 5.1234 5 3.向上取整 有小數,整數就 1 math.ceil 5.1234 6 4.四捨五入 小數部分 math.round 5.1234 ...