【问题标题】:trim "px" off the end of Jquery var从 Jquery var 的末尾修剪“px”
【发布时间】:2011-04-07 04:40:09
【问题描述】:

我有一个存储边距的 css 值的变量。我想从最后删除“px”,这样我就可以使用这个数字了。我该怎么做?

【问题讨论】:

    标签: jquery trim


    【解决方案1】:

    选项 1:

    parseInt('200px', 10);
    

    parseInt() 函数解析一个字符串并返回一个整数。除非您知道自己在做什么,否则不要更改上述函数中的 10(称为“基数”)。

    输出将为:200。

    选项2 (我个人更喜欢这个选项)

    parseFloat('200px')
    

    输出将为:200

    parseFloat() 函数解析一个字符串并返回一个浮点数。

    parseFloat() 函数确定指定字符串中的第一个字符是否为数字。如果是,它会解析字符串直到到达数字的末尾,并将数字作为数字返回,而不是作为字符串。

    选项 2 的优点是,如果您使用十进制数字(例如 200.32322px),您将获得返回的数字以及小数点后面的值。如果您需要返回特定的数字,这很有用。

    【讨论】:

      【解决方案2】:

      最好使用 parseFloat()

      在您有小数的情况下,例如转换延迟为 0.5 秒,parseInt(x,10) 返回零,相比之下 parseFloat() 返回 0.5

      var x = "0.5s";
      var y = parseFloat(x); //returns 0.5
      

      【讨论】:

      • 这个问题是关于像素的(0.5px不像0.5s那么常见)。
      【解决方案3】:
      var x = "1px";
      var y = parseInt(x, 10); // specify radix to prevent unpredictable behavior
      

      【讨论】:

      • "一个整数,表示上述字符串的基数。始终指定此参数以消除读者混淆并保证可预测的行为。不同当未指定基数时,实现会产生不同的结果。” developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
      • 由于 IE 的一些问题,您可能会发现 parseFloat 更好。这是因为 IE 使用部分像素,例如 27.86 而不是 28。
      【解决方案4】:

      使用 String.replace() 方法是一种简单的方法:

      http://www.w3schools.com/jsref/jsref_replace.asp

      【讨论】:

      • 为什么投反对票?我能想到几个地方 parseInt 和 parseFloat 对于一般用途来说过于挑剔。
      • 嘿,是的,在 Alex Reitbort 给出答案之前,同一个用户也对这个问题和我的回答投了反对票。可能只是一个恶意用户:P
      猜你喜欢
      • 2011-08-11
      • 2013-09-11
      • 1970-01-01
      • 1970-01-01
      • 2012-02-23
      • 2021-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多