删除小数点前的前导0并返回数字-javascript

时间:2019-07-29 01:30:25

标签: javascript numbers decimal-point

问题

我需要返回一个.66格式的数字(从包含前导零的输入值(例如0.66)中返回)

必须以整数形式返回,以小数点为第一个字符。

JavaScript中的哪种方法可以帮助我做到这一点?

我尝试了什么?

我尝试将其转换为String()并返回parseInt(),但包含小数点使其返回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

2 个答案:

答案 0 :(得分:1)

问题1: 0.66不是整数。整数是整数,这是浮点数。

问题2: JavaScript中的数字不能以小数点开头。 即使将parseInt更改为parseFloat,结果仍将返回0.66。

您要问的是不可能的,如果您希望数字以小数点开头,则必须为字符串。

答案 1 :(得分:0)

我尝试了一种快速解决方案,您可以尝试执行以下操作:

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