Hướng dẫn how do you sum a string in javascript? - làm cách nào để tính tổng một chuỗi trong javascript?

Tôi có hai chuỗi chỉ chứa các số:

var num1 = '20',
    num2 = '30.5';

Tôi đã mong đợi rằng tôi có thể thêm chúng lại với nhau, nhưng thay vào đó, chúng đang được nối:

num1 + num2; // = '2030.5'

Làm thế nào tôi có thể buộc các chuỗi này được coi là số?

Hướng dẫn how do you sum a string in javascript? - làm cách nào để tính tổng một chuỗi trong javascript?

Felix Kling

775K172 Huy hiệu vàng1072 Huy hiệu bạc1119 Huy hiệu đồng172 gold badges1072 silver badges1119 bronze badges

Đã hỏi ngày 23 tháng 1 năm 2012 lúc 18:24Jan 23, 2012 at 18:24

0

Tôi sẽ sử dụng toán tử Unary Plus để chuyển đổi chúng thành các số trước.

+num1 + +num2;

Đã trả lời ngày 23 tháng 1 năm 2012 lúc 18:26Jan 23, 2012 at 18:26

ChaopandionchaospandionChaosPandion

76.4K18 Huy hiệu vàng117 Huy hiệu bạc155 Huy hiệu đồng18 gold badges117 silver badges155 bronze badges

9

Tài liệu MDN cho ParseInt MDN Docs cho parsefloat
MDN docs for parseFloat

Trong ParseInt radix được chỉ định là mười để chúng ta ở cơ sở 10. Trong JavaScript không phải là một số được chuẩn bị với

+num1 + +num2;
2 được coi là bát phân. Điều này rõ ràng sẽ gây ra vấn đề!

parseInt(num1, 10) + parseInt(num2, 10) //base10
parseFloat(num1) + parseFloat(num2)

Ngoài ra, hãy xem câu trả lời của Chaopandion cho một lối tắt hữu ích bằng cách sử dụng toán tử Unary. Tôi đã thiết lập một fiddle để hiển thị các hành vi khác nhau.

http://jsfiddle.net/EtX6G/

var ten = '10';
var zero_ten = '010';
var one = '1';
var body = document.getElementsByTagName('body')[0];

Append(parseInt(ten) + parseInt(one));
Append(parseInt(zero_ten) + parseInt(one));
Append(+ten + +one);
Append(+zero_ten + +one);

function Append(text) {
    body.appendChild(document.createTextNode(text));
    body.appendChild(document.createElement('br'));
}

Đã trả lời ngày 23 tháng 1 năm 2012 lúc 18:25Jan 23, 2012 at 18:25

Mrtshermanmrtshermanmrtsherman

39K22 Huy hiệu vàng86 Huy hiệu bạc110 Huy hiệu Đồng22 gold badges86 silver badges110 bronze badges

5

Tôi khuyên bạn nên sử dụng toán tử Unary Plus, để buộc một chuỗi cuối cùng được coi là số, bên trong ngoặc đơn để làm cho mã dễ đọc hơn như sau:

(+varname)

Vì vậy, trong trường hợp của bạn, đó là:

var num1 = '20',
    num2 = '30.5';

var sum = (+num1) + (+num2);

// Just to test it
console.log( sum ); // 50.5

Đã trả lời ngày 23 tháng 1 năm 2012 lúc 18:44Jan 23, 2012 at 18:44

Hướng dẫn how do you sum a string in javascript? - làm cách nào để tính tổng một chuỗi trong javascript?

Luca Borrioneluca BorrioneLuca Borrione

15.9k7 Huy hiệu vàng51 Huy hiệu bạc64 Huy hiệu Đồng7 gold badges51 silver badges64 bronze badges

var result = Number(num1) + Number(num2);

Kapex

28.1k6 Huy hiệu vàng108 Huy hiệu bạc120 Huy hiệu đồng6 gold badges108 silver badges120 bronze badges

Đã trả lời ngày 23 tháng 1 năm 2012 lúc 19:49Jan 23, 2012 at 19:49

Hướng dẫn how do you sum a string in javascript? - làm cách nào để tính tổng một chuỗi trong javascript?

không xác địnhundefined

1.9913 huy hiệu vàng26 Huy hiệu bạc46 Huy hiệu đồng3 gold badges26 silver badges46 bronze badges

Chuyển đổi chuỗi thành

+num1 + +num2;
3 bằng
+num1 + +num2;
4 hoặc thành
+num1 + +num2;
5 với
+num1 + +num2;
6

Đã trả lời ngày 23 tháng 1 năm 2012 lúc 18:26Jan 23, 2012 at 18:26

Hướng dẫn how do you sum a string in javascript? - làm cách nào để tính tổng một chuỗi trong javascript?

ChaopandionchaospandionKristian

76.4K18 Huy hiệu vàng117 Huy hiệu bạc155 Huy hiệu đồng19 gold badges97 silver badges172 bronze badges

1

Tài liệu MDN cho ParseInt MDN Docs cho parsefloat

function addStrings(str1, str2){
  str1a = str1.split('').reverse();
  str2a = str2.split('').reverse();
  let output = '';
  let longer = Math.max(str1.length, str2.length);
  let carry = false;
  for (let i = 0; i < longer; i++) {
    let result
    if (str1a[i] && str2a[i]) {
      result = parseInt(str1a[i]) + parseInt(str2a[i]);

    } else if (str1a[i] && !str2a[i]) {
      result = parseInt(str1a[i]);

    } else if (!str1a[i] && str2a[i]) {
      result = parseInt(str2a[i]);
    }

    if (carry) {
        result += 1;
        carry = false;
    }
    if(result >= 10) {
      carry = true;
      output += result.toString()[1];
    }else {
      output += result.toString();
    }
  }
  output = output.split('').reverse().join('');

  if(carry) {
    output = '1' + output;
  }
  return output;
}

Trong ParseInt radix được chỉ định là mười để chúng ta ở cơ sở 10. Trong JavaScript không phải là một số được chuẩn bị với

+num1 + +num2;
2 được coi là bát phân. Điều này rõ ràng sẽ gây ra vấn đề!Jan 8, 2018 at 18:15

Ngoài ra, hãy xem câu trả lời của Chaopandion cho một lối tắt hữu ích bằng cách sử dụng toán tử Unary. Tôi đã thiết lập một fiddle để hiển thị các hành vi khác nhau.kugyousha

Đã trả lời ngày 23 tháng 1 năm 2012 lúc 18:253 gold badges19 silver badges22 bronze badges

0

Mrtshermanmrtsherman

var x = +num1 + +num2;

39K22 Huy hiệu vàng86 Huy hiệu bạc110 Huy hiệu Đồng

Tôi khuyên bạn nên sử dụng toán tử Unary Plus, để buộc một chuỗi cuối cùng được coi là số, bên trong ngoặc đơn để làm cho mã dễ đọc hơn như sau:19 gold badges144 silver badges178 bronze badges

Vì vậy, trong trường hợp của bạn, đó là:Jan 24, 2014 at 16:12

Đã trả lời ngày 23 tháng 1 năm 2012 lúc 18:44

num1 + num2; // = '2030.5'
0

Luca Borrioneluca Borrione

15.9k7 Huy hiệu vàng51 Huy hiệu bạc64 Huy hiệu ĐồngJan 24, 2014 at 17:00

Hướng dẫn how do you sum a string in javascript? - làm cách nào để tính tổng một chuỗi trong javascript?

adam0101adam0101adam0101

Kapex21 gold badges90 silver badges168 bronze badges

num1 + num2; // = '2030.5'
1

Hướng dẫn how do you sum a string in javascript? - làm cách nào để tính tổng một chuỗi trong javascript?

28.1k6 Huy hiệu vàng108 Huy hiệu bạc120 Huy hiệu đồng

1.9913 huy hiệu vàng26 Huy hiệu bạc46 Huy hiệu đồng3 gold badges26 silver badges46 bronze badges

Chuyển đổi chuỗi thành

+num1 + +num2;
3 bằng
+num1 + +num2;
4 hoặc thành
+num1 + +num2;
5 với
+num1 + +num2;
6Jun 20, 2018 at 3:31

Kristiankristian

num1 + num2; // = '2030.5'
2

20.7K19 Huy hiệu vàng97 Huy hiệu bạc172 Huy hiệu đồngNov 26, 2016 at 17:42

Hướng dẫn how do you sum a string in javascript? - làm cách nào để tính tổng một chuỗi trong javascript?

Nếu bạn cần thêm hai chuỗi với nhau, đó là số lượng rất lớn, bạn sẽ cần đánh giá việc bổ sung ở mỗi vị trí chuỗi:Marcelo Lazaroni

Đã trả lời ngày 8 tháng 1 năm 2018 lúc 18:153 gold badges32 silver badges40 bronze badges

Kugyoushakugyousha

2.3133 Huy hiệu vàng19 Huy hiệu bạc22 Huy hiệu đồng

Bạn có thể sử dụng nó để thêm số:

Sirko

71K19 Huy hiệu vàng144 Huy hiệu bạc178 Huy hiệu đồng

Đã trả lời ngày 24 tháng 1 năm 2014 lúc 16:12

num1 + num2; // = '2030.5'
3

Tôi luôn luôn trừ không.

num1 + num2; // = '2030.5'
4

Được cho rằng phương pháp toán tử Unary là một ký tự ít hơn, nhưng không phải ai cũng biết nhà điều hành Unary là gì hoặc làm thế nào để tìm hiểu khi nào họ không biết nó được gọi là gì.Oct 7, 2018 at 13:17

Hướng dẫn how do you sum a string in javascript? - làm cách nào để tính tổng một chuỗi trong javascript?

Đã trả lời ngày 24 tháng 1 năm 2014 lúc 17:00Brajesh

Phù vàng 27.3K21 Huy hiệu vàng90 Huy hiệu bạc168 Hàng đồng12 silver badges18 bronze badges

chưa xác định

num1 + num2; // = '2030.5'
5

Đã trả lời ngày 20 tháng 6 năm 2018 lúc 3:31Jan 23, 2012 at 18:27

Nếu bạn muốn thực hiện hoạt động với các số dưới dạng chuỗi (như trong trường hợp các số lớn hơn 64 tỷ người có thể giữ), bạn có thể sử dụng thư viện số nguyên lớn.Alex Turpin

Đã trả lời ngày 26 tháng 11 năm 2016 lúc 17:4223 gold badges112 silver badges145 bronze badges

Marcelo Lazaronimarcelo Lazaroni

9.1813 huy hiệu vàng32 Huy hiệu bạc40 Huy hiệu đồng

Ở đây, bạn có hai tùy chọn để làm điều này:-Sep 30, 2013 at 3:35

1. Bạn có thể sử dụng Unary Plus để chuyển đổi số chuỗi thành số nguyên.Nicolas

2. Bạn cũng có thể đạt được điều này thông qua việc phân tích con số vào loại tương ứng. tức là parseInt (), parsefloat (), v.v.3 silver badges5 bronze badges

1

.

Bây giờ tôi sẽ cho bạn thấy ở đây với sự trợ giúp của các ví dụ (tìm tổng của hai số).

Sử dụng toán tử Unary Plus

Sử dụng phương pháp phân tích cú pháp-

num1 + num2; // = '2030.5'
6

Đã trả lời ngày 7 tháng 10 năm 2018 lúc 13:17Feb 13, 2019 at 20:27

BrajeshbrajeshGary

1.43712 Huy hiệu bạc18 Huy hiệu đồng2 gold badges26 silver badges30 bronze badges

Bạn có thể sử dụng

+num1 + +num2;
7 để phân tích một chuỗi vào một số. Để được về phía an toàn của mọi thứ, luôn luôn vượt qua
+num1 + +num2;
8 như là đối số thứ hai để phân tích cú pháp trong cơ sở 10.

num1 + num2; // = '2030.5'
7

Đã trả lời ngày 20 tháng 6 năm 2018 lúc 3:31Jan 23, 2012 at 18:27

Nếu bạn muốn thực hiện hoạt động với các số dưới dạng chuỗi (như trong trường hợp các số lớn hơn 64 tỷ người có thể giữ), bạn có thể sử dụng thư viện số nguyên lớn.Guffa

Đã trả lời ngày 26 tháng 11 năm 2016 lúc 17:42108 gold badges724 silver badges998 bronze badges

Marcelo Lazaronimarcelo Lazaroni

num1 + num2; // = '2030.5'
8

9.1813 huy hiệu vàng32 Huy hiệu bạc40 Huy hiệu đồng

Ở đây, bạn có hai tùy chọn để làm điều này:-Jul 10, 2014 at 6:40

num1 + num2; // = '2030.5'
9

Hoạt động trong trường hợp của tôi, nếu bạn gặp phải vấn đề tương tự như tôi và không thể tìm thấy giải pháp cho trường hợp đó và tìm câu hỏi này.

Xin lỗi vì một chút lạc đề, nhưng như tôi chỉ phát hiện ra rằng điều này hoạt động, tôi nghĩ rằng nó có thể đáng để chia sẻ.

Không biết đó là một cách giải quyết bẩn thỉu, hoặc thực sự hợp pháp.

Đã trả lời ngày 16 tháng 6 năm 2019 lúc 15:31Jun 16, 2019 at 15:31

RomanromanRoman

Phù hiệu đồng 1911212 bronze badges

Bạn có thể sử dụng như thế này:

+num1 + +num2;
0

Khi áp dụng *1 trong num1, hãy chuyển đổi chuỗi một số.

Nếu Num1 chứa một chữ cái hoặc dấu phẩy, hãy trả về Nan nhân với 1

Nếu num1 là null, num1 trả về 0

Trân trọng!!!

Đã trả lời ngày 17 tháng 9 năm 2014 lúc 7:51Sep 17, 2014 at 7:51

Hướng dẫn how do you sum a string in javascript? - làm cách nào để tính tổng một chuỗi trong javascript?

Hãy thử điều này nếu bạn đang tìm kiếm mã JavaScript đơn giản và muốn sử dụng hai hộp đầu vào và thêm số từ hai giá trị. Đây là mã.

+num1 + +num2;
1

Để biết thêm chi tiết, vui lòng truy cập http://informativejavascript.blogspot.nl/2012/12/javascript-basics.html

Đã trả lời ngày 25 tháng 12 năm 2012 lúc 12:41Dec 25, 2012 at 12:41

Kamalkamalkamal

72 huy hiệu đồng2 bronze badges

Chúng ta có thể thêm số trong chuỗi không?

Trong JavaScript, toán tử + được sử dụng cho cả cộng và nối chuỗi.Khi bạn "thêm" một số vào một chuỗi, trình thông dịch sẽ chuyển đổi số của bạn thành một chuỗi và kết hợp cả hai với nhau.the + operator is used for both numeric addition and string concatenation. When you "add" a number to a string the interpreter converts your number to a string and concatenates both together.

Các giá trị số có thể được thêm vào một đối tượng chuỗi không?

Trong JavaScript, chúng ta có thể thêm một số và một số nhưng nếu chúng ta cố gắng thêm một số và một chuỗi sau đó, vì không thể bổ sung, 'Concatenation' diễn ra.Trong ví dụ sau, các biến A, B, C và D được thực hiện.Đối với biến 'A', hai số (5, 5) được thêm vào do đó, nó đã trả về một số (10).we can add a number and a number but if we try to add a number and a string then, as addition is not possible, 'concatenation' takes place. In the following example, variables a,b,c and d are taken. For variable 'a', two numbers(5, 5) are added therefore it returned a number(10).