将 JavaScript 字符串变量转换为十进制/金钱
我们如何将 JavaScript 字符串变量转换为十进制?
有没有这样的函数:
parseInt(document.getElementById(amtid4).innerHTML)
How can we convert a JavaScript string variable to decimal?
Is there a function such as:
parseInt(document.getElementById(amtid4).innerHTML)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
是的 --
parseFloat
。对于格式化数字,请使用
toFixed
:num
现在是一个字符串,其数字格式为两位小数。Yes --
parseFloat
.For formatting numbers, use
toFixed
:num
is now a string with the number formatted with two decimal places.您还可以使用
Number
构造函数/函数(不需要基数,并且可用于整数和浮点数):或者像 Andy E 在评论中所说的那样,您可以使用
+
用于转换You can also use the
Number
constructor/function (no need for a radix and usable for both integers and floats):Alternatively like Andy E said in the comments you can use
+
for conversionhttps://developer.mozilla.org/en/docs/Web /JavaScript/Reference/Global_Objects/NumberFormat
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat
这有效:
This works:
一个简单的快捷方法是使用 +x
它保持符号和十进制数完好无损。
另一种选择是使用 parseFloat(x)。
parseFloat(x) 和 +x 之间的区别是对于空字符串 +x 返回 0,而 parseFloat(x) 返回 NaN。
An easy short hand way would be to use +x
It keeps the sign intact as well as the decimal numbers.
The other alternative is to use parseFloat(x).
Difference between parseFloat(x) and +x is for a blank string +x returns 0 where as parseFloat(x) returns NaN.
依赖 JavaScript 函数来比较和玩弄数字是相当危险的。在 javascript 中 (0.1+0.2 == 0.3) 将由于舍入错误而返回 false。使用 math.js 库。
It is fairly risky to rely on javascript functions to compare and play with numbers. In javascript (0.1+0.2 == 0.3) will return false due to rounding errors. Use the math.js library.
我做了一个小帮助函数来执行此操作并捕获所有格式错误的数据
演示位于此处
I made a little helper function to do this and catch all malformed data
Demo is here
前缀
+
可用于将数字的字符串形式转换为数字(例如“009”到 9),但如果您想要
SUM<,请
小心
/code> 将 2 个或多个数字串合并为一个数字。或者你可以这样做
Prefix
+
could be used to convert a string form of a number to a number (say "009" to 9)But be
careful
if you want toSUM
2 or more number strings into one number.Alternatively you can do