js中的number型別

2022-09-01 04:09:11 字數 963 閱讀 6768

nan有兩個特點:

1 任何涉及nan的操作都會返回nan(這個特點在多步計算中可能有問題)

2nan與任何值都不相等,包括它本身,例如下面的**也是返回false

alert(nan == nan)

針對nan的這兩個特點,ecmascript定義了isnan()這個函式,該函式接收乙個引數,該引數可以是任意資料型別,而且該引數可以幫我們確定這個引數是否「不是數值」。isnan()

接收到乙個值之後會將這個值轉換成數值。而某些不會轉換為數值的值都將返回true

數值轉換

js中數值轉換的函式有三個:parseint()、parsefloat()、number()

parseint ( cstring )從字串cstring非空字元開始轉換得到的整數,遇到小數點或其他0-9外的字元就停止,如「-1234a」,「-1234.0」都將返回 -1234;如果除第乙個符號外乙個0-9字元都不是,將返回nan,如「-a」、「abc」等;

number( cstring )從字串cstring轉換得到的數字,包括int和float型別,如:「-123」返回-123,「123」和「00123」都返回 123,「234。56」返回234。56等。cstring必須是合法的數字串,否則返回nan;如「.123」、「1.23.45」、 「--123」、「123a"都返回nan.

總之number( )更象parsefloat( ),number對引數更挑剔,稍有不是數字就返回nan。

parsefloat支援第乙個非空字元為小數點,如parsefloat(".123" )返回0.123。

而number(".123" )返回nan。

空字串或完全空格串健壯的parsefloat()返回nan,而number()返回0,這有點讓人費解。

除了不支援無前導0小數 (如.123、-.123)和支援多餘的前導0(如-00123返回-123)多少不符合常規外,number能用來驗證數字串!

JS資料型別 Number

number型別的進製 浮點數精度問題 不要直接判斷兩個浮點數是否相等 浮點數 var n 5e 324 科學計數法 5乘以10的 324次方 浮點數值的最高精度是 17 位小數,但在進行算術計算時其精確度遠遠不如整數 var result 0.1 0.2 結果不是 0.3,而是 0.3000000...

js資料型別Number

資料型別簡介 1.為什麼需要資料型別?在計算機中,不同的資料所需占用的儲存空間是不同的,為了便於把資料分成所需記憶體大小不同的資料,充分利用儲存空間,於是定義了不同的資料型別 2.變數的資料型別 變呈是用來儲存值的所在處,它們有名字和資料型別。變呈的資料型別決定了如何將代表這些值的位儲存到計算機的記...

Oracle中的number型別

number型別的語法很簡單 number p,s p 精度位 有效數字位 precision,是總有效資料位數,取值範圍是38,預設是38,可以用字元 表示38。s 小數字,scale,是小數點右邊的位數,取值範圍是 84 127,預設值取決於p,如果沒有指定p,那麼s是最大範圍,如果指定了p,那...