如何在 JavaScript 中将负数转换为正数?


本教程将教会我们如何将负数转换为正数。有时,程序员需要对数字的无符号值执行某些操作,在这种情况下,他们需要将负数转换为正数。

在本教程中,我们将介绍将负数转换为正数的各种方法。

  • 使用 Math.abs() 方法

  • 将负数乘以 -1

  • 使用按位非运算符

使用 Math.abs() 方法

Math.abs() 方法是 JavaScript 数学库方法。Math.abs() 方法将一个值作为参数,并返回无符号值。

语法

用户可以按照以下语法使用 Math.abs() 方法。

let number = -10;
let result = Math.abs( number );

参数

  • number − 可以是需要转换为无符号数的负数或正数值。

示例

在下面的示例中,我们使用 Math.abs() 方法将不同的负数和正数转换为正数。用户将通过以下示例学习如何使用 Math.abs() 方法。

<html> <head> </head> <body> <h2> Converting the negative number to positive number in JavaScript. </h2> <h4> Using <i> Math.abs() </i> method to convert different negative values to positive. </h4> <div id = "number1"> </div> </body> <script> var number1 = document.getElementById("number1"); let number = -234; // using the Math.abs() for different values number1.innerHTML = "Math.abs( -234 ) = " + Math.abs(number) + " <br/> "; number1.innerHTML += "Math.abs( 234 ) = " + Math.abs(234) + " <br/> "; number1.innerHTML += "Math.abs( -1235.462 ) = " + Math.abs(1235.462) + " <br/> "; </script> </html>

在上面的输出中,用户可以看到正值保持不变,而负值转换为正值。

将负数乘以 -1

将负数转换为正数的第二种方法很简单。我们将使用 if-else 语句检查数字。如果数字小于零,即为负数,我们将将其乘以 -1。否则,我们将保留数字不变。

语法

let number  = -543;
let positive = number * -1;

示例

在下面的示例中,我们实现了上述方法。我们创建了函数以从负数中获取正数。在函数中,我们添加了三元运算符以检查数字是否小于零。如果数字小于 0,则三元运算符返回将数字乘以 -1 后的结果。

<html> <head> </head> <body> <h2> Converting the negative number to positive number in JavaScript. </h2> <h4> <i> Multiply number with -1 </i> to convert negative number to positive. </h4> <div id = "number1"> </div> </body> <script> var number1 = document.getElementById("number1"); function getPositive(number) { // if number is less than zero multiply with -1, otherwise returns as it is return number < 0 ? number * -1 : number; } number1.innerHTML = "-43 => " + getPositive(-43) + " <br/> "; number1.innerHTML += "43 => " + getPositive(43) + " <br/> "; </script> </html>

使用按位非运算符

在这种方法中,我们将使用按位非 (~) 运算符将有符号数转换为无符号数。如果我们尝试理解计算机的语言,那么将负数转换为正数的过程会很棘手。

计算机只理解二进制数字的语言。因此,计算机将数字转换为二进制,取其二进制补码,然后向数字添加 1 以将负数转换为正数。

我们将使用按位 ~ 运算符来获取数字的二进制补码,然后向数字添加 1。 

语法

用户可以按照以下语法使用此方法。

let number = -10;
let result = ~( number ) + 1;

示例

在下面的示例中,我们取了负数的二进制补码,然后向数字添加了 1。

<html> <head> </head> <body> <h2> Converting the negative number to positive number in JavaScript. </h2> <h4> Using the <i> Bitwise Not (~) </i> operator to convert negative number to positive. </h4> <div id = "number1"> </div> </body> <script> var number1 = document.getElementById("number1"); function getPositive(number) { // if number is less than zero, take two's complement and add 1 to it. return number < 0 ? ~number + 1 : number; } number1.innerHTML = "312 => " + getPositive(312) + " <br/> "; number1.innerHTML += "-5 => " + getPositive(-5) + " <br/> "; </script> </html>

第一种方法使用Math.abs() 方法将负值转换为正值。几乎所有程序员都知道第二种方法。第三种方法是一种棘手的方法;如果用户对二进制数字有很好的了解,他们可以理解它。此外,在所有三种方法中,第三种方法是最快的方法。

更新于: 2022年8月10日

12K+ 阅读量

开启您的 职业生涯

完成课程后获得认证

立即开始
广告