Câu trả lời:
Có - parseFloat
.
parseFloat(document.getElementById(amtid4).innerHTML);
Để định dạng số, hãy sử dụng toFixed
:
var num = parseFloat(document.getElementById(amtid4).innerHTML).toFixed(2);
num
bây giờ là một chuỗi với số được định dạng với hai chữ số thập phân.
parseFloat('22w')
là 22
và parseFloat('w22')
làNaN
Bạn cũng có thể sử dụng hàm Number
tạo / hàm (không cần cơ số và có thể sử dụng được cho cả số nguyên và số thực):
Number('09'); /=> 9
Number('09.0987'); /=> 9.0987
Ngoài ra, như Andy E đã nói trong phần nhận xét, bạn có thể sử dụng +
để chuyển đổi
+'09'; /=> 9
+'09.0987'; /=> 9.0987
Number
var formatter = new Intl.NumberFormat("ru", {
style: "currency",
currency: "GBP"
});
alert( formatter.format(1234.5) ); // 1 234,5 £
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat
Intl.NumberFormat
móng tay nó.
Một cách viết tay ngắn gọn dễ dàng sẽ là sử dụng + x Nó giữ nguyên dấu hiệu cũng như các số thập phân. Cách thay thế khác là sử dụng parseFloat (x). Sự khác biệt giữa parseFloat (x) và + x là đối với một chuỗi trống + x trả về 0 trong khi parseFloat (x) trả về NaN.
Tôi đã tạo một hàm trợ giúp nhỏ để thực hiện việc này và bắt tất cả dữ liệu không đúng định dạng
function convertToPounds(str) {
var n = Number.parseFloat(str);
if(!str || isNaN(n) || n < 0) return 0;
return n.toFixed(2);
}
Demo ở đây