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

删除小数点前的前导0并作为数字返回-javascript,javascript,numbers,decimal-point,Javascript,Numbers,Decimal Point,问题 我需要返回一个.66格式的数字(来自输入的值,其中包括前导零,例如0.66) 它必须以小数点作为第一个字符的整数返回 JavaScript中的什么方法可以帮助我做到这一点 我试过什么? 我尝试将其转换为字符串()并返回到parseInt(),但包含小数点会使其返回NaN 我尝试将各种基数(10,16)添加到parseInt()-也没有成功 示例代码 const value = 0.66; if(value < 1) { let str = value.toString().

问题

我需要返回一个.66格式的数字(来自输入的值,其中包括前导零,例如0.66)

它必须以小数点作为第一个字符的整数返回

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

我试过什么?

我尝试将其转换为字符串()并返回到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
const值=0.66;
如果(值<1){
让str=value.toString().replace(/^0+/,“”);
//正确获取“.66”
返回parseInt(str)
}
//结果楠
期望值

我希望输出的值去掉前导0 e、 g.0.45-->.45或0.879-->.879

当前观察结果

输出为NaN

第1期: 0.66不是整数。整数是一个整数,这是一个浮点数

问题2: JavaScript中的数字不能以小数点开头。 即使将
parseInt
更改为
parseFloat
,其结果仍将返回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];

真正的整数将始终由十进制值中的前导零表示。无论您如何努力,您只能将您的期望值表示为字符串。您应该在视图层中从字符串中剪切0。该值将保持0.66或0.66或00000.66不变!