Hướng dẫn javascript make negative number positive - javascript biến số âm thành số dương

Tôi đã làm một cái gì đó như thế này.

num<0?num*=-1:'';

Nó kiểm tra xem số đó có âm không và nếu nó là, nhân với -1 điều này sẽ trả về một giá trị, tùy thuộc vào bạn nếu bạn nắm bắt nó. Trong trường hợp bạn muốn gán nó cho một cái gì đó, có lẽ bạn nên làm một cái gì đó như:

var out = num<0?num*=-1:num; //I think someone already mentioned this variant.

Nhưng nó thực sự phụ thuộc vào mục tiêu của bạn là gì. Đối với tôi nó đơn giản, làm cho nó tích cực nếu tiêu cực, nếu không làm gì cả. Do đó '' trong mã. Trong trường hợp này, tôi đã sử dụng toán tử đại học vì tôi muốn, nó rất có thể là:

if(num<0)num*=-1;

Tôi đã thấy giải pháp bitwise ở đây và cũng muốn bình luận về điều đó.

~--num; //Drawback for this is that num original value will be reduced by 1

Theo tôi, tâm hồn này rất lạ mắt, chúng ta có thể viết lại nó như thế này:

~(num = num-1);

Nói một cách đơn giản, chúng tôi lấy số âm, lấy một cái ra khỏi nó và sau đó bitwise đảo ngược nó. Nếu chúng ta đã đảo ngược một cách bình thường, chúng ta sẽ nhận được giá trị 1 quá nhỏ. Bạn cũng có thể làm điều này:

~num+1; //Wont change the actual num value, merely returns the new value

Điều đó sẽ làm như vậy nhưng sẽ đảo ngược trước và sau đó thêm 1 vào số dương. Mặc dù bạn không thể làm điều này:

~num++; //Wont display the right value.

Điều đó sẽ không hoạt động nguyên nhân của ưu tiên, các toán tử postfix như num++ sẽ được đánh giá trước ~ và lý do tiền tố

var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
0 sẽ không hoạt động mặc dù nó có mức độ ưu tiên như bitwise không (~), là vì nó được đánh giá từ phải sang trái. Tôi đã cố gắng trao đổi chúng xung quanh nhưng có vẻ như tiền tố hơi khó tính so với bitwise thì không. +1 sẽ hoạt động vì ' +' có quyền ưu tiên cao hơn và sẽ được đánh giá sau.

Tôi thấy rằng giải pháp đó khá thú vị và quyết định mở rộng nó vì nó chỉ được ném vào đó và đăng mọi người nhìn vào nó có lẽ đã bỏ qua nó. Mặc dù có, nó sẽ không hoạt động với phao.

Hy vọng của tôi là bài đăng này đã không rời khỏi câu hỏi ban đầu. :/

Gutha Vamsi Krishna

Trong bức ảnh này, chúng tôi sẽ học cách chuyển đổi số âm thành số dương trong JavaScript.

Chúng tôi sẽ bắt đầu với tuyên bố vấn đề và sau đó xem xét một ví dụ.

Vấn đề

Cho một số nguyên âm

var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
1, chuyển đổi nó thành một số nguyên dương.

Thí dụ

Đầu vào:

var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
2

Đầu ra:

var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
3

Dung dịch

Chúng tôi sẽ giải quyết vấn đề này theo hai cách:

  1. Nhân số với
    var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
    
    4.
  2. Sử dụng phương pháp
    var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
    
    5.

Nhân với var out = num<0?num*=-1:num; //I think someone already mentioned this variant. 4

Theo cách tiếp cận này, chúng tôi sẽ chuyển đổi một số nguyên âm thành một số nguyên dương bằng cách nhân số nguyên âm với

var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
4.

Thực hiện

//given negative integer

let n = -20;

//print original n

console.log("Given negative integer n = " + n);

//convert n to positive integer

n = n * -1

//print positive n

console.log("After conversion value of n = " + n)

Giải trình

Hãy cùng nhìn vào lời giải thích của đoạn mã ở trên.

  • Dòng 2: Chúng tôi đặt giá trị của số nguyên

    var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
    
    1 là
    var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
    
    2.

  • Dòng 5: Chúng tôi in số nguyên gốc

    var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
    
    1.

  • Dòng 8: Chúng tôi nhân số nguyên âm với

    var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
    
    4 và gán kết quả cho
    var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
    
    1.

  • Dòng 11: Chúng tôi in số nguyên dương được chuyển đổi

    var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
    
    1.

Sử dụng phương pháp var out = num<0?num*=-1:num; //I think someone already mentioned this variant. 5

Theo cách tiếp cận này, chúng tôi sẽ sử dụng một phương thức tích hợp được cung cấp bởi mô-đun

if(num<0)num*=-1;
5 trong JavaScript.

Phương pháp

if(num<0)num*=-1;
6 chuyển đổi số nguyên âm được cung cấp thành số nguyên dương.
if(num<0)num*=-1;
6
converts the provided negative integer to a positive integer.

Thực hiện

//given negative integer

let n = -20;

//print original n

console.log("Given negative integer n = " + n);

//convert n to positive integer

n = Math.abs(n)

//print positive n

console.log("After conversion value of n = " + n)

Giải trình

Hãy cùng nhìn vào lời giải thích của đoạn mã ở trên.

  • Dòng 2: Chúng tôi đặt giá trị của số nguyên

    var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
    
    1 là
    var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
    
    2.

  • Dòng 5: Chúng tôi in số nguyên gốc

    var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
    
    1.

  • Dòng 8: Chúng tôi vượt qua

    var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
    
    1 như một đối số cho phương thức
    if(num<0)num*=-1;
    
    6 và gán kết quả cho
    var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
    
    1.

  • Dòng 11: Chúng tôi in số nguyên dương được chuyển đổi

    var out = num<0?num*=-1:num; //I think someone already mentioned this variant.
    
    1.

THẺ LIÊN QUAN

cộng đồng

JavaScript

Người đóng góp

Hướng dẫn javascript make negative number positive - javascript biến số âm thành số dương
Gutha Vamsi Krishna