使用 JavaScript 将百分比转换为小数
Convert Percent to Decimal using JavaScript
要将百分比转换为小数,将百分比字符串传递给
parseFloat()
函数并将结果除以100
,例如
parseFloat(percent) / 100
。该parseFloat()
函数解析提供的字符串并返回一个浮点数。
索引.js
function toDecimal(percent) { return parseFloat(percent) / 100; } console.log(toDecimal('25%')); // 👉️ 0.25 console.log(toDecimal('55%')); // 👉️ 0.55 console.log(toDecimal('0%')); // 👉️ 0 console.log(toDecimal('100%')); // 👉️ 1
我们创建了一个可重用的函数,它接受一个百分比并将该值转换为小数。
parseFloat函数以字符串为参数,将
字符串解析为浮点数。
索引.js
console.log(parseFloat('25%')); // 👉️ 25 console.log(parseFloat('55%')); // 👉️ 55 console.log(parseFloat('55.5%')); // 👉️ 55.5
如果函数遇到加号、减号、数字、小数点
parseFloat
以外的字符,它会返回该字符之前的值,并忽略无效字符和字符串的其余部分。+
-
0-9
.
在我们的场景中,当该parseFloat
方法遇到百分号时%
,它会短路并返回到该点为止的浮点数。
如果提供的字符串的第一个字符无法转换为数字,则parseFloat
函数返回NaN
(不是数字)。
索引.js
console.log(parseFloat('%')); // 👉️ NaN
最后一步是将调用parseFloat
函数
的结果除以100
得到十进制值。
如果您需要处理提供的字符串不是有效百分比的场景,您可以检查调用parseFloat
函数的结果是否返回NaN
。
NaN
这将处理除以的边缘情况100
,它仍然会返回NaN
。
索引.js
function toDecimal(percent) { const parsed = parseFloat(percent); if (!Number.isNaN(parsed)) { return parseFloat(percent) / 100; } else { return 0; } } console.log(toDecimal('25%')); // 👉️ 0.25 console.log(toDecimal('hello')); // 👉️ 0
在除以 之前,我们检查调用parseFloat
函数的结果是否不是。NaN
100
在我们得到一个NaN
值的情况下,我们简单地返回0
。
else
根据您的用例,您可能需要以不同的方式处理块。