删除小数点前的前导 0 和 return 作为数字 - javascript

remove leading 0 before decimal point and return as a number- javascript

问题

我需要 return 格式为 .66 的数字(来自包含前导零的输入值,例如 0.66)

必须return以小数点作为第一个字符的整数。

JavaScript中有什么方法可以帮助我做到这一点?

我尝试了什么?

我试过将其转换为 String() 并返回到 parseInt() 但包括小数点使其成为 return NaN。

我已经尝试将各种基数 (10, 16) 添加到我的 parseInt() - 也不成功

示例代码

const value = 0.66;

if(value < 1) {
    let str = value.toString().replace(/^0+/, '');
    // correctly gets '.66'
    return parseInt(str)
}

//result NaN

预期

我希望输出删除前导 0 的值 例如0.45 --> .45 或 0.879 --> .879

当前观察

输出为 NaN

问题 #1: 0.66 不是整数。 An Integer是一个整数,这是一个浮点数。

问题 #2: JavaScript 中不能有以小数点开头的数字。 即使您将 parseInt 更改为 parseFloat,结果仍然是 return 0.66。

你问的是不可能的,如果你想让一个数字以小数点开头,那么它必须是一个字符串。

我尝试了一个快速解决方案,您可以尝试这样做:

let a = 0.45;
// split on decimal, at index 1 you will find the number after decimal
let b = a.toString().split('.')[1];