问题
我需要返回一个.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
答案 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];