JavaScript将数字转百分比字符串需乘100、保留小数位并加%号;常用toFixed()拼接(如(0.3748*100).toFixed(1)+'%'得"37.5%"),推荐Intl.NumberFormat实现国际化(如new Intl.NumberFormat('zh-CN',{style:'percent'}).format(0.3748)得"37.48%")。

JavaScript 中将数字转为百分比字符串,核心是乘以 100、保留所需小数位、加上百分号。没有内置的百分比格式化方法,但可以用 toFixed()、Intl.NumberFormat 或模板字符串轻松实现。
用 toFixed() + 字符串拼接(最常用)
适合简单场景,控制小数位数直观:
- 数字先 × 100,再调用
toFixed(n)固定小数位(返回字符串) - 末尾拼上
'%' - 注意:
toFixed()会四舍五入,且返回的是字符串,不是数字
const num = 0.3748;<br>(num * 100).toFixed(1) + '%'; // "37.5%"<br>(num * 100).toFixed(2) + '%'; // "37.48%"
用 Intl.NumberFormat(推荐用于国际化)
更专业、支持多语言和本地化格式(如千分位、小数点符号),也支持百分比:
立即学习“Java免费学习笔记(深入)”;
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
- 创建格式器时传入
{ style: 'percent' } - 它会自动把输入数字当作「比率」处理(即 0.3748 → 37.48%,无需手动 ×100)
- 用
maximumFractionDigits控制最多保留几位小数
const formatter = new Intl.NumberFormat('zh-CN', {<br> style: 'percent',<br> maximumFractionDigits: 1<br>});<br>formatter.format(0.3748); // "37.5%"<br>formatter.format(0.015); // "1.5%"
封装一个简洁的百分比函数
把常用逻辑收拢,提高复用性:
function toPercent(num, digits = 0) {<br> if (typeof num !== 'number') return '';<br> return (num * 100).toFixed(digits) + '%';<br>}<br><br>toPercent(0.856, 2); // "85.60%"<br>toPercent(1, 0); // "100%"
注意事项
- 输入必须是有效数字,否则
NaN × 100得到NaN,NaN.toFixed()会报错 - 负数也能正常处理:
toPercent(-0.25, 1)→"-25.0%" - 如果需保留末尾零(如
"50.00%"),用toFixed();若想按需省略(如"50%"而非"50.00%"),Intl.NumberFormat更灵活

















