删除小数点前的前导0并作为数字返回-javascript
问题 我需要返回一个.66格式的数字(来自输入的值,其中包括前导零,例如0.66) 它必须以小数点作为第一个字符的整数返回 JavaScript中的什么方法可以帮助我做到这一点 我试过什么? 我尝试将其转换为字符串()并返回到parseInt(),但包含小数点会使其返回NaN 我尝试将各种基数(10,16)添加到parseInt()-也没有成功 示例代码删除小数点前的前导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().
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不变!