javascript學習筆記--數字格式類型

來源:互聯網
上載者:User

可能有人說這是什麼個格式?
其實還不止呢。
1          //1
1.2       //1.2
1.2e3    //1200
1.2e+3  //1200
1.2e-3   //0.0012
.12e+2  //12
-.12e-2 //-0.0012

當然這些只是十進位。我們來說說 八進位 和 十六進位。
0x00, 0x11, 0xff 這種格式是十六進位,他們的十進位值分別是 0, 17, 255。

01, 07, 010, 012 這個是 八進位。(這裡的 0 是數字 0,不是字母o)
可能有朋友質疑了,這不是十進位麼,怎麼說是八進位呢?
其實這就是 八進位,只是在 十進位 前加了個 0 而已。

當然不是所有加 0 的都是 八進位。
比如 08, 09 其實是 十進位,因為八進位到 8 就進位,所以不可能出現 08, 09 的。

是不是覺得視野開闊很多了,不再局限於 十進位 的表現形式了,也不必害怕被大牛寫的代碼嚇傻了。

可能有朋友會說,八進位,十六進位,支援 e+- 這種格式嗎?

0x12e3 === 4835
0x12e+3 === 305
0x12e-3 === 299
0x12 === 18
很明顯,不是我們想想中的結果。
其實 0x12e3 是因為 e 也是十六進位裡的字元,十六進位的字元是 0-9 加上 a-f,大小寫無所謂,所以 0x12e3 是一個正常的 十六進位 數字格式。
0x12e+3 為什麼也不是呢, 其實它只是兩個數相加而已,0x12e 的十進位是 302,加上 3 就得到 305 了,所以他是一個運算式,不是一個單純的數字。

而 011e2 這樣的格式也是不對的,甚至直接報語法錯誤。
所以指數格式只能在 十進位 裡使用。

以後遇到 1e6 別在天真的看成 IE6 了。
也別再鬱悶 .5 為什麼不會出錯,.1e1 為什麼等於 1 了。

好了,今天就分享這麼個小知識點,自己慢慢去琢磨吧。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.