中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript中怎么使用parseInt實現取整

發布時間:2021-07-06 16:49:24 來源:億速云 閱讀:450 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關JavaScript中怎么使用parseInt實現取整,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

JavaScript 是弱類型語言,為了保證數值的有效性,在處理數值的時候,我們可以對數值字符串進行強行轉換。如 parseInt 取整和 parseFloat 取浮點數。

Java 也有 Integer.parseInt() 方法,但是 JavaScript 的 parseInt 處理方式與 Java 等強整型語言不太一樣,所以經常有人因為對這個方法的使用不當而獲得異常返回。

下面是一段 Java 代碼,用于將字符串 020 轉為整型。

public class Test { public static void main(String args[]) throws Exception { String str = "020"; System.out.println(Integer.parseInt(str)); } }

輸出結果是 20

下面是一段 JavaScript 代碼,同樣是將字符串 020 轉為整型。

var str = "020"; var num = parseInt(str); alert(num);

輸出結果是 16

為什么呢?

無論是 Java 還是 JavaScript,parseInt 方法都有兩個參數,第一個參數就是要轉換的對象,第二個參數是進制基數,可以是 2,8,10,16,默認以 10 進制處理。但在 JavaScript 中,0 開始的數被認為使用 8 進制處理,0x 的數被認為是用 16 進制來處理。所以上面的 JavaScript 代碼計算錯誤了。

影響大嗎?

大! 很大! 因為這個經常用于計算價錢,一旦價格錯誤,對用戶來說,這是誤導,而一個好的網站不應該出現這種誤導用戶的。下面的 DEMO 中,沒有指定進制。大家可以在數量框中輸入一個以 0 開頭的數字,在點擊計算按鈕,算出來的數值將比預想中的小一些,或者小很多 (如: 8 進制中沒有 019 這樣的數值,所以數值變成了 1,9 被忽略掉)。

如何修改?

前面說過,有兩個參數,第二個參數可以指定計算使用的進制。

parseInt(num,radix);

所以我們可以將前面有問題的那段 JavaScript 代碼改寫為下面的代碼。

var str = "020"; var num = parseInt(str,10); alert(num);

以上就是JavaScript中怎么使用parseInt實現取整,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武穴市| 金门县| 黔西| 辽源市| 松江区| 衡水市| 平遥县| 六盘水市| 杭州市| 海晏县| 蒲城县| 马鞍山市| 陕西省| 桐乡市| 迁安市| 浦城县| 陆河县| 阳新县| 丰顺县| 开封县| 开平市| 师宗县| 晋中市| 旅游| 营山县| 长葛市| 宁德市| 搜索| 深水埗区| 楚雄市| 吴堡县| 肃南| 澄迈县| 都江堰市| 苍溪县| 禹城市| 七台河市| 虹口区| 明水县| 博白县| 辽阳县|