Easy way to convert a string to a number or null?

2019-08-25 10:55发布

问题:

Is there a slick way to convert a string to a number or null if it cannot be represented by a number? I have been using the method below:

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

Which works, but I'm curious if there is something that is shorter? Possible, or is this the most succinct way?

回答1:

If you don't care for "0", then you can use

+s||null

If you want to support "0", then I don't have better than

1/s?+s:null


回答2:

This is a small improvement to the OP's answer, and is fairly readable:

isNaN(mystring) ? null : +mystring