如何在 JavaScript 中去除数字前导零?
在本教程中,我们将探讨如何在 JavaScript 中去除任何数字的前导零。JavaScript 会自动去除整数变量中的前导零,但对于 JavaScript 中的字符串则并非如此。JavaScript 中表示数值的字符串可能包含前导零。
当我们尝试对字符串表示的数值执行任何操作时,这些前导零可能会导致问题。这就是我们将探讨在 JavaScript 中如何去除以字符串形式表示的数字的前导零的方法的原因。
使用 JavaScript 中的 parseInt() 方法
在 JavaScript 中去除以字符串形式表示的数字的前导零最简单的方法之一是使用parseInt() 方法。但是怎么做呢?首先,让我们看看这个函数的基本作用。
JavaScript 中的 parseInt() 函数基本上将数值字符的字符串作为输入并将其转换为整数。基本上,此方法返回由作为输入传递给它的字符串表示的数值,以 JavaScript 中整数的形式。
现在,正如我们前面讨论的,有效的 JavaScript 整数不包含前导零,如果我们使用 JavaScript 中的 parseInt() 方法解析字符串并将其转换为整数,它将不包含任何前导零,从而解决了我们的问题。因此,我们可以将包含前导零的字符串作为输入传递给 parseInt() 函数,并获得不包含任何前导零的数字。
现在让我们来看看 JavaScript 中 parseInt() 函数的语法和参数。
语法和参数
parseInt() 函数的语法为:
parseInt(s , r);
让我们详细了解这两个参数。
s - 这表示要转换为整数的字符串。这是一个必需参数。
r - 这是一个可选参数,它表示字符串数值的基数或进制。如果未提供值,则根据作为输入传递的字符串假设基数。
即使第二个参数是可选的,它也不总是默认为 10,因此最好是连同字符串一起传递基数,以便正确解析。
示例
在下面的示例中,我们使用parseInt() 方法去除数字 (00378) 的前导零。
<!DOCTYPE html> <html> <body> <script> var num = "00378"; document.write("Original number was : " + num); var int_num = parseInt(num,10); document.write("<br>Parsed number is : " + int_num); </script> </body> </html>
在上面的示例代码中,字符串 num 最初包含前导零。为了去除这些零,我们将字符串作为输入传递给 parseInt() 函数,并将基数设置为 10,因为字符串表示十进制数。当我们输出最终值时,数字的值中已去除前导零。
使用 JavaScript 中的字符串 replace() 方法
JavaScript 字符串有一个名为replace() 的方法,我们可以向其传递两个字符串 - 模式和替换,该方法将用提供的替换替换模式的所有出现。准确地说,使用此方法,我们可以用我们想要的任何内容替换字符串中特定模式的所有出现。因此,通过使用此方法,我们可以将字符串中的前导零替换为空字符串,从而将其去除。
让我们看看 JavaScript 中 replace() 方法的语法和参数。
语法和参数
replace 函数的语法为:
s.replace(pattern, replacement);
这里s 是我们要在其中替换某些模式的字符串。让我们详细了解这两个参数:
pattern - 这指的是字符串 s 的子字符串,它将被转换为其他内容,即要替换的子字符串。此参数不仅可以是字符串,还可以是表示要在字符串 s 中查找和替换的模式的正则表达式。只会替换 s 中模式的第一次出现,但如果在此参数中提供带有全局修饰符“g”的正则表达式,则将替换字符串 s 中该正则表达式的所有匹配项。当然,这是一个必需参数。
replacement - 这表示将取代字符串 s 中模式的字符串。模式的每次出现都将被替换为此内容。请注意,此参数也可以是一个函数,该函数返回将用作 s 中模式每次出现的替换的字符串。
示例
在下面的示例代码中,我们使用了这两种方法,字符串方法和正则表达式方法来去除前导零。正则表达式/^0+/ 表示字符串开头后跟任意数量字符的所有零。
<!DOCTYPE html> <html> <body> <script> var num = "00378"; document.write("Original number was : " + num); var replaced_num = num.replace("00",""); document.write("<br>Replaced number is : " + replaced_num); var regex_num = num.replace(/^0+/,""); document.write("<br>Regex replaced number is : " + replaced_num); </script> </body> </html>
结论
在本教程中,我们看到了如何使用两个内置 JavaScript 函数去除 JavaScript 字符串中的前导零。它们是:
JavaScript 中的parseInt() 方法,它将字符串转换为数字,从而去除前导零。
JavaScript 中的string.replace() 方法,用于替换任何字符串中的模式,因此我们可以用空字符替换前导零。