我们如何将JavaScript字符串变量转换为十进制?将JavaScript字符串变量转换为十进制/货币
有作为
parseInt(document.getElementById(amtid4).innerHTML)
我们如何将JavaScript字符串变量转换为十进制?将JavaScript字符串变量转换为十进制/货币
有作为
parseInt(document.getElementById(amtid4).innerHTML)
是这样的功能 - parseFloat
。
parseFloat(document.getElementById(amtid4).innerHTML);
对于格式化号码,使用toFixed
:
var num = parseFloat(document.getElementById(amtid4).innerHTML).toFixed(2);
num
现在是与两位小数格式化的数字的字符串。
您还可以使用(适用于整数和浮点数无需基数和使用)的Number
构造/功能:
Number('09'); /=> 9
Number('09.0987'); /=> 9.0987
+1,'Number' - 或'+' - 是我要走的路。 – 2011-05-23 10:44:23
这工作:
var num = parseFloat(document.getElementById(amtid4).innerHTML, 10).toFixed(2);
一个简单的速记方法将使用+ x 它保持标志完整以及十进制数字。 另一种选择是使用parseFloat(x)。 parseFloat(x)和+ x之间的区别是空字符串+ x返回0,其中as parseFloat(x)返回NaN。
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
这是相当危险的依赖于JavaScript功能比较和使用数字播放。在javascript(0.1 + 0.2 == 0.3)由于舍入错误将返回false。使用math.js库。
我做了一个小帮手功能做到这一点,捕获所有异常数据
function convertToPounds(str) {
var n = Number.parseFloat(str);
if(!str || isNaN(n) || n < 0) return 0;
return n.toFixed(2);
}
演示是here
我们能否与2个小数点变量如120.50?现在我只得到120.5。 – Varada 2011-05-23 10:27:08
@Varada请参阅编辑。 – lonesomeday 2011-05-23 10:31:08
引用@PhilipWhitehouse“请读者在将来阅读这篇文章时,不要使用float来存储货币,你将失去精度和数据,你应该将它存储为整数美分(或便士等),然后转换在输出之前。“。资料来源:http://stackoverflow.com/questions/149055/how-can-i-format-numbers-as-money-in-javascript – 2013-11-27 17:33:16