JS中Number(),parseInt(),parseFloat()三者比較

来源:https://www.cnblogs.com/wangyang0210/archive/2018/08/23/9526440.html
-Advertisement-
Play Games

【參考來源】 https://www.cnblogs.com/yi0921/p/6196841.html https://blog.csdn.net/u010200222/article/details/10282351 【正文內容】 Number() Number() Boolean值,true和 ...


【參考來源】

  https://www.cnblogs.com/yi0921/p/6196841.html

  https://blog.csdn.net/u010200222/article/details/10282351

【正文內容】

  Number()

-------------------------------------------------------------------------------------
--Number()
--
--
--Boolean值,true->1,false->0。
--
--數字值,整型就是整型,浮點型就是浮點型,科學計數就科學計數
--
--null值,轉為0
--
--二進位,八進位,十六進位格式,轉為十進位的數值
--
--字元串為空,轉為0
--
--字元串中是純科學計數,數值會直接轉為十進位的數值
--
--undefined , 對象 , 數組 ,字元串不為純數字和科學計數時 返回NaN
------------------------------------------------------------------------------------

    //JS區分0和-0
        var num = 123;
        var num = 123.123;
        var num = 0b10;
        var num = 010;
        var num = 0xff;
        var num = 5e2;
        var num = 5e-2;

        var num = NaN;

        console.log('值: ' , num);
        console.log('類型: ' , typeof(num))

        //NaN本身為false
        //其他類型轉為數值失敗時都為NaN
        console.log(NaN - 100);
        if(NaN){
            console.log('Yes');
        }else{
            console.log('No');
        }

        //NaN
        var a = '123ad';
        //123
        var a = '123';
        //NaN
        var a = 'f3ad';
        //0
        var a = false;
        //1
        var a = true;
        //NaN
        var a = undefined;
        var a = new Object();
        var a = Array(1,23);

        //1e+124
        var a = 10e123;

        //3
        var a = 0b11;

        //255
        var a = 0xff;

        //1.23
        var a = 1.23;

        //0
        var a = '';

        //1200
        var a = '12e2';

        //0
        var a = null;

        //90
        var a = 0132;

        var n = Number(a);
        console.log(n);

 

parseInt()


-----------------------------------------------------------------------------------------------------------------------------------------
--parseInt()
--
--
--數值正常轉化,如果為浮點數,則轉為整型,捨棄小數點後的數值
--
--數字開頭的字元串,只轉換數字整數部分,忽略字母部分
--
--二進位,八進位,十六進位轉化時,轉化為十進位的數值
--
--科學計數法,能解析時正常解析,不能時返回第一個數字
--
--Boolean,undefined , 對象 , 數組 ,空字元串,字元串開頭不為純數字和科學計數時 返回NaN
----------------------------------------------------------------------------------------------------------------------------------------

        //123
        var a = '123ad';
        //123
        var a = '123';
        //NaN
        var a = 'f3ad';
        //NaN
        var a = false;
        //NaN
        var a = true;
        //NaN
        var a = undefined;
        var a = new Object();

        //13 第一個值
        var a = Array(13,2);

        //3100000能夠解析處時正常解析,不能時只返回第一個數字
        var a = 31e5;

        //3
        var a = 0b11;

        //255
        var a = 0xff;

        //1
        var a = 1.23;

        //NaN
        var a = '';

        //12  字元串只返回12e捨棄
        var a = '12e2';

        //NaN
        var a = null;

        //1
        var a = 1.5;

        //90
        var a = 0132;

        var n = parseInt(a);
        console.log(n);

        var a = parseInt("10",2);
        var a = parseInt("FF",16);
        var a = parseInt("10",8);
        console.log(a);

 

 parseFloat()

 


--------------------------------------------------------------------------------------------------------------------------------
--parseFloat()
--
--
--數值正常轉化,整型為整型,浮點型為浮點型
--
--數字開頭的字元串,只轉換數字整數部分,忽略字母部分
--
--二進位,八進位,十六進位轉化時,轉化為十進位的數值
--
--科學計數法,能解析時正常解析,超出範圍則返回Infinity
--
--Boolean,undefined , 對象 , 數組 ,空字元串,字元串開頭不為純數字和科學計數時 返回NaN
--
--不能有多個小數點報語法錯誤
--------------------------------------------------------------------------------------------------------------------------------

         //123
        var a = '123ad';
        //123
        var a = '123';
        //NaN
        var a = 'f3ad';
        //NaN
        var a = false;
        //NaN
        var a = true;
        //NaN
        var a = undefined;
        var a = new Object();

        //13 第一個值
        var a = Array(13,2);

        //3100000 範圍過大將轉為科學計數法再大將為Infinity
        var a = 31e5;

        //3
        var a = 0b11;

        //255
        var a = 0xff;

        //1.23
        var a = 1.23;

        //NaN
        var a = '';

        //1200
        var a = '12e2aa';

        //NaN
        var a = null;

        //1.5
        var a = 1.5;

        //90
        var a = 0132;

        //
        var a = 1.113;

        var n = parseFloat(a);
        console.log(n);

 

 自動類型轉換

   數字類型: 在字元串環境下 隱身轉換為字元串  

   字元串類型 在數字環境下,可以隱式轉換為字元串中的數字或NaN;

          在布爾環境下,可以隱式轉換為true.

    空字元串:在數字環境下可以隱式轉換為0;

         在布爾環境下可以隱式轉換為false;

        字元串'true': 在數字環境下可以隱式轉換位1;布爾為true

    字元串'false': 數字環境為0,布爾位false

     null: 在字元串環境下,轉換為'null';

         數字環境下,轉換為0,布爾環境下,轉為false

     NaN: 在字元串環境下可以隱式轉換為'NaN';

       布爾環境下,轉換為false

    undefined: 字元串環境下,轉換為“undefined”,

          數字環境下,轉為NaN,

                 布爾下,轉為false

    true: 字元串轉為'true',數字環境下轉為1

     false: 字元串轉為'false',數字環境下轉為0

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • koa源碼閱讀的第四篇,涉及到向介面請求方提供文件數據。 第一篇:koa源碼閱讀-0第二篇:koa源碼閱讀-1-koa與koa-compose第三篇:koa源碼閱讀-2-koa-router 處理靜態文件是一個繁瑣的事情,因為靜態文件都是來自於伺服器上,肯定不能放開所有許可權讓介面來讀取。各種路徑的校 ...
  • angularjs表單驗證,今天主要學習了angularjs中的表單驗證的一些基本概念及其簡單應用(簡單的實現註冊表單驗證) ...
  • HTTP報文格式 HTTP報文分為請求報文和響應報文,只有發送了請求報文,才會有響應報文。 常見的報文格式如下所示: 請求報文 一個請求報文由四部分組成,分別是: 請求行 請求頭 空行 請求正文 請求行 請求行由三部分組成,分別是:請求方法,URL以及協議版本。 如上所示:該請求行的請求表示了本次請 ...
  • 這個思維導圖是我對Object,原型,原型鏈等知識的總結,主要參考高程一書第六章,寫完才發現這麼多,以後可能會進行精簡。內容可能會出現差錯,歡迎批評指正。下載==>Github ECMAScript支持面向對象(OO)編程,但不使用類或者介面。對象可以在代碼執行過程中創建和增強,因此具有動態性而非嚴 ...
  • 一個數值保存覆選框的值 [TOC] 前言 在開發過程中,對於網頁中的多選,我們有很多種存儲方式,常見的如逗號分隔。下文介紹一種通用設計方式:用一個整數來存儲覆選框的值。 準備知識 —— 位與運算 位與運算:二進位運算,相同位的兩個數字都為1,則為1;若有一個不為1,則為0,如: 設計 將多項的選項值 ...
  • 數組的 every() 、some() 、filter() 三者的回調函數都有三個參數:元素、索引和當前數組,用到哪個寫哪個(元素一定要有),順序不可亂 every() 當數組的每個元素都滿足條件(例如大於3)才會返回true some() 只要數組裡有一個元素滿足條件即返回true filter( ...
  • beginPath的作用很簡單,就是開始一段新的路徑,但在使用canvas繪圖的過程中卻非常重要 先來看一小段代碼: 我們的代碼沒有錯誤,但得到的卻是兩個邊長100px的黃色的正方形,而不是一綠一黃,這是為什麼呢? 事實上,canvas中的繪製方法(fill,stoke),都會以上一次“beginP ...
  • 1.app.js 裡面調用微信登錄非同步,這樣導致首頁onload 提前載入,那麼寫在onload 裡面的 介面拿不到請求參數,解決辦法:設置一個請求開關,寫一個頁面回調函數。 2. 小程調用canvas 的層級較高,使用普通的標簽 設置z-index 不生效。 解決辦法:使用cover-view 代 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...