Hướng dẫn convert locale string to number javascript - chuyển đổi chuỗi ngôn ngữ thành số javascript

Sử dụng phương thức JavaScript Tolocalestring để chuyển đổi chuỗi locale thành số.toLocaleString method to convert Locale string into number.

Một cách dễ dàng để chuyển đổi một chuỗi có thể chứa dấu phẩy thành một số là tìm bất kỳ chữ số nào trong chuỗi và xóa nó, do đó, chỉ còn lại với các chữ số.

var num = number.toLocaleString().replace(/\D/g,''); //1000000

Mã ví dụ đơn giản.

 <!DOCTYPE html>
 <html>
 <body>

  <script>
    var number = 1000000;
    console.log('numeric number', number); 

    var str = number.toLocaleString();  
    console.log('with commas', str);  

    var num = str.replace(/\D/g,'');
    console.log('string without commas', num);  

    var num2 = parseInt(num);
    console.log('numeric', num2);  
  </script>

</body>
</html> 

Output::

Hướng dẫn convert locale string to number javascript - chuyển đổi chuỗi ngôn ngữ thành số javascript

Nguồn: stackoverflow.com: stackoverflow.com

Làm thế nào để chuyển đổi chuỗi thành số theo locale javascript?

TRẢ LỜI: Hàm sau tiên sẽ xây dựng một con số dựa trên ngôn ngữ đã cho. Sau đó, nó sẽ cố gắng tìm ra dấu phân cách thập phân cho ngôn ngữ đó.: The following function will first construct a NumberFormat based on the given locale. Then it will try to find the decimal separator for that language.

Cuối cùng, nó sẽ thay thế tất cả trừ bộ phân cách thập phân trong chuỗi đã cho, sau đó thay thế dấu phân cách phụ thuộc locale bằng dấu chấm mặc định và chuyển đổi nó thành một số.

<script>
    function convertNumber(num, locale) {
      const { format } = new Intl.NumberFormat(locale);
      const [, decimalSign] = /^0(.)1$/.exec(format(0.1));
      return +num
      .replace(new RegExp(`[^${decimalSign}\\d]`, 'g'), '')
      .replace(decimalSign, '.');
    };

    console.log(convertNumber('100,45', 'de-DE'))
</script>

Đầu ra: 100,45: 100.45

Hãy bình luận nếu bạn có bất kỳ nghi ngờ hoặc đề xuất nào về chủ đề chuỗi địa phương JS này.

Lưu ý: & nbsp; The & nbsp; tất cả các ví dụ JS & nbsp; is & nbsp; được kiểm tra trên trình duyệt firefox và trình duyệt Chrome. The All JS Examples codes are tested on the Firefox browser and the Chrome browser.

Hệ điều hành: & nbsp; windows 10Windows 10

Mã: Phiên bản HTML 5

Hướng dẫn convert locale string to number javascript - chuyển đổi chuỗi ngôn ngữ thành số javascript

Bằng cấp về Khoa học máy tính và Kỹ sư: Nhà phát triển ứng dụng và có nhiều ngôn ngữ lập trình kinh nghiệm. Sự nhiệt tình cho công nghệ và thích học kỹ thuật.

64

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Nếu tôi làm:

var number = 3500;
alert(number.toLocaleString("hi-IN"));

Tôi sẽ nhận được

 <!DOCTYPE html>
 <html>
 <body>

  <script>
    var number = 1000000;
    console.log('numeric number', number); 

    var str = number.toLocaleString();  
    console.log('with commas', str);  

    var num = str.replace(/\D/g,'');
    console.log('string without commas', num);  

    var num2 = parseInt(num);
    console.log('numeric', num2);  
  </script>

</body>
</html> 
1 trong tiếng Hindi.

Nhưng làm thế nào tôi có thể chuyển đổi nó trở lại

 <!DOCTYPE html>
 <html>
 <body>

  <script>
    var number = 1000000;
    console.log('numeric number', number); 

    var str = number.toLocaleString();  
    console.log('with commas', str);  

    var num = str.replace(/\D/g,'');
    console.log('string without commas', num);  

    var num2 = parseInt(num);
    console.log('numeric', num2);  
  </script>

</body>
</html> 
2. Tôi muốn một cái gì đó như:

var str='३,५००';
alert(str.toLocaleNumber("en-US"));

Vì vậy, nó có thể cho

 <!DOCTYPE html>
 <html>
 <body>

  <script>
    var number = 1000000;
    console.log('numeric number', number); 

    var str = number.toLocaleString();  
    console.log('with commas', str);  

    var num = str.replace(/\D/g,'');
    console.log('string without commas', num);  

    var num2 = parseInt(num);
    console.log('numeric', num2);  
  </script>

</body>
</html> 
2.

Có thể bởi JavaScript hay jQuery?

Đã hỏi ngày 3 tháng 9 năm 2014 lúc 13:05Sep 3, 2014 at 13:05

Hướng dẫn convert locale string to number javascript - chuyển đổi chuỗi ngôn ngữ thành số javascript

7

Gần đây, tôi đã phải vật lộn với cùng một vấn đề chuyển đổi số chuỗi được định dạng trong bất kỳ địa phương nào trở lại số.

Tôi đã lấy cảm hứng từ giải pháp được triển khai trong thành phần đầu vào ng Prime. Họ sử dụng

 <!DOCTYPE html>
 <html>
 <body>

  <script>
    var number = 1000000;
    console.log('numeric number', number); 

    var str = number.toLocaleString();  
    console.log('with commas', str);  

    var num = str.replace(/\D/g,'');
    console.log('string without commas', num);  

    var num2 = parseInt(num);
    console.log('numeric', num2);  
  </script>

</body>
</html> 
4 (mà tôi khuyên dùng) để định dạng giá trị thành chuỗi locale, sau đó tạo tập hợp các biểu thức
 <!DOCTYPE html>
 <html>
 <body>

  <script>
    var number = 1000000;
    console.log('numeric number', number); 

    var str = number.toLocaleString();  
    console.log('with commas', str);  

    var num = str.replace(/\D/g,'');
    console.log('string without commas', num);  

    var num2 = parseInt(num);
    console.log('numeric', num2);  
  </script>

</body>
</html> 
5 dựa trên các mẫu đơn giản để chúng có thể cắt các biểu thức cụ thể từ chuỗi được định dạng.

Giải pháp này có thể được đơn giản hóa với việc sử dụng

 <!DOCTYPE html>
 <html>
 <body>

  <script>
    var number = 1000000;
    console.log('numeric number', number); 

    var str = number.toLocaleString();  
    console.log('with commas', str);  

    var num = str.replace(/\D/g,'');
    console.log('string without commas', num);  

    var num2 = parseInt(num);
    console.log('numeric', num2);  
  </script>

</body>
</html> 
6. Phương thức này trả về thông tin về
 <!DOCTYPE html>
 <html>
 <body>

  <script>
    var number = 1000000;
    console.log('numeric number', number); 

    var str = number.toLocaleString();  
    console.log('with commas', str);  

    var num = str.replace(/\D/g,'');
    console.log('string without commas', num);  

    var num2 = parseInt(num);
    console.log('numeric', num2);  
  </script>

</body>
</html> 
7 và tất cả các dấu phân cách khác được sử dụng để định dạng giá trị của bạn theo địa phương cụ thể, vì vậy bạn có thể dễ dàng xóa chúng ra khỏi chuỗi được định dạng trước đó. Nó dường như là giải pháp dễ dàng nhất, sẽ bao gồm tất cả các trường hợp, nhưng bạn phải biết trong địa phương mà giá trị đã được định dạng trước đó.

Tại sao Ng Prime không đi theo cách này? Tôi nghĩ rằng đó là vì

 <!DOCTYPE html>
 <html>
 <body>

  <script>
    var number = 1000000;
    console.log('numeric number', number); 

    var str = number.toLocaleString();  
    console.log('with commas', str);  

    var num = str.replace(/\D/g,'');
    console.log('string without commas', num);  

    var num2 = parseInt(num);
    console.log('numeric', num2);  
  </script>

</body>
</html> 
6 không hỗ trợ IE11, hoặc có lẽ có điều gì khác mà tôi không nhận thấy.

Một ví dụ mã hoàn chỉnh bằng cách sử dụng giải pháp này có thể được tìm thấy ở đây.

Pete

Huy hiệu vàng 11.9k852 Huy hiệu bạc68 Huy hiệu đồng8 gold badges52 silver badges68 bronze badges

Đã trả lời ngày 2 tháng 7 năm 2020 lúc 10:24Jul 2, 2020 at 10:24

Hướng dẫn convert locale string to number javascript - chuyển đổi chuỗi ngôn ngữ thành số javascript

1

Thật không may, bạn sẽ phải giải quyết bản địa hóa bằng tay. Lấy cảm hứng từ câu trả lời này, tôi đã tạo ra một hàm sẽ thay thế thủ công các số tiếng Hindi:

function parseHindi(str) {
    return Number(str.replace(/[०१२३४५६७८९]/g, function (d) {
        return d.charCodeAt(0) - 2406;
    }).replace(/[०१२३४५६७८९]/g, function (d) {
        return d.charCodeAt(0) - 2415;
    }));
}

alert(parseHindi("३५००"));

Fiddle TẠI ĐÂY: http://jsfiddle.net/yyxgxav4/

Đã trả lời ngày 3 tháng 9 năm 2014 lúc 16:52Sep 3, 2014 at 16:52

2

Sử dụng thư viện toàn cầu hóa.

Cài đặt nó

 <!DOCTYPE html>
 <html>
 <body>

  <script>
    var number = 1000000;
    console.log('numeric number', number); 

    var str = number.toLocaleString();  
    console.log('with commas', str);  

    var num = str.replace(/\D/g,'');
    console.log('string without commas', num);  

    var num2 = parseInt(num);
    console.log('numeric', num2);  
  </script>

</body>
</html> 
9

sau đó

var cldr = require("cldr-data");
var Globalize = require("globalize");

Globalize.load(cldr("supplemental/likelySubtags"));
Globalize.load(cldr("supplemental/numberingSystems"));
Globalize.load(cldr("supplemental/currencyData"));

//replace 'hi' with appropriate language tag
Globalize.load(cldr("main/hi/numbers"));
Globalize.load(cldr("main/hi/currencies"));

//You may replace the above locale-specific loads with the following line,
// which will load every type of CLDR language data for every available locale
// and may consume several hundred megs of memory!
//Use with caution.
//Globalize.load(cldr.all());

//Set the locale
//We use the extention u-nu-native to indicate that Devanagari and
// not Latin numerals should be used.
// '-u' means extension
// '-nu' means number
// '-native' means use native script
//Without -u-nu-native this example will not work
//See 
// https://en.wikipedia.org/wiki/IETF_language_tag#Extension_U_.28Unicode_Locale.29
// for more details on the U language code extension 
var hindiGlobalizer = Globalize('hi-IN-u-nu-native');

var parseHindiNumber = hindiGlobalizer.numberParser();
var formatHindiNumber = hindiGlobalizer.numberFormatter();
var formatRupeeCurrency = hindiGlobalizer.currencyFormatter("INR");

console.log(parseHindiNumber('३,५००')); //3500
console.log(formatHindiNumber(3500));   //३,५००
console.log(formatRupeeCurrency(3500)); //₹३,५००.००

https://github.com/codebling/globalize-example

Đã trả lời ngày 8 tháng 8 năm 2016 lúc 6:15Aug 8, 2016 at 6:15

Hướng dẫn convert locale string to number javascript - chuyển đổi chuỗi ngôn ngữ thành số javascript

CodebleDcodeBlingCodebling

10,4K2 Huy hiệu vàng34 Huy hiệu bạc61 Huy hiệu Đồng2 gold badges34 silver badges61 bronze badges

0

Một kịch bản phổ biến cho vấn đề này là hiển thị số float cho người dùng và sau đó muốn nó trở lại như một giá trị số.

Trong trường hợp đó, JavaScript có số ở nơi đầu tiên và mất nó khi định dạng nó để hiển thị. Một cách giải quyết đơn giản cho phân tích cú pháp là lưu trữ giá trị nổi thực sự cùng với giá trị được định dạng:

var number = 3500;
div.innerHTML = number.toLocaleString("hi-IN");
div.dataset.value = number;

Sau đó lấy lại bằng cách phân tích thuộc tính dữ liệu:

var number = parseFloat(div.dataset.value);

Đây là câu trả lời về phong cách trứng của Columbus. Nó hoạt động với điều kiện vấn đề là một quả trứng.

Đã trả lời ngày 3 tháng 7 năm 2020 lúc 4:42Jul 3, 2020 at 4:42

Bạn có thể thử điều này

function ConvertDigits(input, source, target) {
var systems = {
    arabic: 48, english: 48, tamil: 3046, kannada: 3302, telugu: 3174, hindi: 2406,
    malayalam: 3430, oriya: 2918, gurmukhi: 2662, nagari: 2534, gujarati: 2790,
},
output = [], offset = 0, zero = 0, nine = 0, char = 0;
source = source.toLowerCase();
target = target.toLowerCase();

if (!(source in systems && target in systems) || input == null || typeof input == "undefined" || typeof input == "object") {
    return input;
}

input = input.toString();
offset = systems[target] - systems[source];
zero = systems[source];
nine = systems[source] + 9;    
for (var i = 0 ; i < input.length; i++) {
    var char = input.charCodeAt(i);
    if (char >= zero && char <= nine) {
        output.push(String.fromCharCode(char + offset));
    } else {
        output.push(input[i]);
    }
}
return output.join("");

}

var res = convertDigits ('१२३४५६७८ ९', 'tiếng Hindi', 'tiếng Anh');

Tôi đã nhận được nó từ đây nếu bạn cần một thứ jQuery thì hãy thử liên kết này

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

SediteshsatheeshSatheesh

8832 Huy hiệu vàng16 Huy hiệu bạc38 Huy hiệu đồng2 gold badges16 silver badges38 bronze badges

1

 <!DOCTYPE html>
 <html>
 <body>

  <script>
    var number = 1000000;
    console.log('numeric number', number); 

    var str = number.toLocaleString();  
    console.log('with commas', str);  

    var num = str.replace(/\D/g,'');
    console.log('string without commas', num);  

    var num2 = parseInt(num);
    console.log('numeric', num2);  
  </script>

</body>
</html> 
0

Hướng dẫn convert locale string to number javascript - chuyển đổi chuỗi ngôn ngữ thành số javascript

Tlaloc-ES

4.1406 Huy hiệu vàng28 Huy hiệu bạc67 Huy hiệu Đồng6 gold badges28 silver badges67 bronze badges

Đã trả lời ngày 28 tháng 7 năm 2019 lúc 19:15Jul 28, 2019 at 19:15

2

Làm cách nào để chuyển đổi một chuỗi thành một số trong JavaScript?

Cách chuyển đổi một chuỗi thành một số trong JavaScript bằng toán tử Unary Plus ( +), toán tử Unary Plus ( +) sẽ chuyển đổi một chuỗi thành một số. Nhà điều hành sẽ đi trước toán hạng. Chúng ta cũng có thể sử dụng toán tử Unary Plus ( +) để chuyển đổi chuỗi thành số điểm nổi.using the unary plus operator ( + ) The unary plus operator ( + ) will convert a string into a number. The operator will go before the operand. We can also use the unary plus operator ( + ) to convert a string into a floating point number.

Tolocalestring () trong javascript là gì?

Phương thức Tolocalestring () trả về một chuỗi có biểu diễn nhạy cảm với ngôn ngữ của ngày này. Trong các triển khai với hỗ trợ API intl.DateTimeFormat, phương thức này chỉ cần gọi intl.dateTimeFormat.returns a string with a language-sensitive representation of this date. In implementations with Intl.DateTimeFormat API support, this method simply calls Intl.DateTimeFormat .

Làm cách nào để bản địa hóa một số trong JavaScript?

Trong JavaScript, Tolocalestring () là một phương thức số được sử dụng để chuyển đổi một số thành biểu diễn số dành riêng cho số của số (làm tròn kết quả khi cần thiết) và trả về giá trị của nó dưới dạng chuỗi.toLocaleString() is a Number method that is used to convert a number into a locale-specific numeric representation of the number (rounding the result where necessary) and return its value as a string.

Làm thế nào bạn sẽ chuyển đổi một chuỗi thành một int?

Chuỗi Java sang Int - Cách chuyển đổi chuỗi thành số nguyên..
Sử dụng Integer.parseInt () để chuyển đổi chuỗi thành số nguyên.Phương thức này trả về chuỗi dưới dạng loại nguyên thủy int.....
Sử dụng Integer.valueof () để chuyển đổi chuỗi thành số nguyên.Phương thức này trả về chuỗi dưới dạng đối tượng số nguyên ..