I've got a value like this 3.53048874968162e-09 and isDecimal returns false for that. My workaround has been to call toFixed(20) on the number to convert it before passing to isDecimal: $ node Welcome ...
Apparently the difference between isdecimal and isdigit is that that the latter is more expansive with respect to non ASCII digits, so this is working as expected.