【问题标题】:Easy way to convert a string to a number or null?将字符串转换为数字或空值的简单方法?
【发布时间】:2014-03-05 09:44:24
【问题描述】:

如果字符串不能用数字表示,是否有一种巧妙的方法可以将字符串转换为数字或 null?我一直在使用下面的方法:

if _.isNaN( Number(mystring)  ) then null else Number(mystring)

哪个有效,但我很好奇是否有更短的东西?可能,或者这是最简洁的方式?

【问题讨论】:

    标签: javascript coffeescript


    【解决方案1】:

    如果你不关心“0”,那么你可以使用

    +s||null
    

    如果你想支持"0",那我没有比这更好的了

    1/s?+s:null
    

    【讨论】:

    • 太棒了! + 有什么作用?在这种情况下?
    • 如果字符串有效则将其转换为数字,否则将其转换为 NaN。
    • 注意:这种方法在mystring 为“0”时不起作用。
    • @user2864740 你说得对……让我想一分钟
    • parseInt(myString) 呢?
    【解决方案2】:

    这是对 OP 答案的一个小改进,并且相当易读:

    isNaN(mystring) ? null : +mystring
    

    【讨论】:

      猜你喜欢
      • 2012-09-16
      • 2010-12-21
      • 2015-12-15
      • 2013-09-16
      • 1970-01-01
      • 2015-07-21
      • 1970-01-01
      • 2014-12-22
      • 2017-07-08
      相关资源
      最近更新 更多