【问题标题】:How can I convert my string to a number in Javascript? [duplicate]如何将我的字符串转换为 Javascript 中的数字? [复制]
【发布时间】:2012-11-13 02:12:59
【问题描述】:

可能重复:
How to convert String variable to int in javascript?

我有以下几点:

var dataElapsed = $("#stats-list").attr("data-elapsed");

这会创建一个名为 dataElapsed 的字符串,但我需要一个数字。如何转换?

有没有办法用 JQuery 进行转换?还是我必须使用一些 Javascript 方式?

【问题讨论】:

  • var dataElapsed = $("#stats-list").attr("data-elapsed")*1;
  • @Geek - 我尝试在 $ 之前添加一个“+”,这似乎也有效。
  • @SamanthaJ 是的,我相信它是有效的 - 但如果数据是负数,则会反转符号
  • @Geek - 你的建议给了我一个打字稿错误:-(

标签: javascript


【解决方案1】:

试试这个(假设数据属性有有效的数值):

var dataElapsed = parseFloat($("#stats-list").attr("data-elapsed")); //for decimal.

var dataElapsed = parseInt($("#stats-list").attr("data-elapsed"), 10); //for integer.

【讨论】:

  • 我只是尝试在 $ 之前添加一个“+”并且它有效。这是一个很好的方法来做到这一点。看起来更简单。
  • 我认为 parseInt 更好(不知道为什么你认为它不够简单)。这样你的代码就是自我记录的:很明显正在发生什么。如果您使用插入加号之类的技巧,那么它就不太明显(而且有点骇人听闻)。试图变得可爱只是为了节省一些击键通常会导致混乱和错误。
  • @Chandu - 我决定同意你的看法 :-) 谢谢
【解决方案2】:

您可以使用.data()方法从数据属性中获取值

var dataElapsed = $("#stats-list").data("elapsed");

【讨论】:

  • 嗨穆萨。我认为这不是问题的答案。我的问题是如何确保返回一个数字。
  • @SamanthaJ 以数字形式返回 Every attempt is made to convert the string to a JavaScript value (this includes booleans, numbers, objects, arrays, and null)
  • 好的,我明白你的意思了。但是,.data 属性与 JQuery 的存储方式不同。例如,如果我有代码设置 .data 那么我可以在浏览器中使用 firebug 看到它吗?
猜你喜欢
  • 2020-08-16
  • 2019-06-17
  • 2019-12-18
  • 2015-08-17
  • 2022-08-05
  • 2014-08-05
相关资源
最近更新 更多