js如何实现要是有两位小数保留最多两位,如果没有小数则不展示小数
在JavaScript中,要实现保留至多位小数并且没有小数时不显示小数,可以使用以下方法:
function toFixedMax(num, maxDecimals) {
// 转换为字符串以便处理
const numStr = num.toString();
// 检查是否有小数点
if (numStr.includes('.')) {
// 有小数点,使用toFixed保留至最多maxDecimals位小数
return parseFloat(num.toFixed(maxDecimals)).toString();
}
// 没有小数点,直接返回整数
return numStr;
}
// 示例
console.log(toFixedMax(123, 2)); // 输出: "123"
console.log(toFixedMax(123.456, 2)); // 输出: "123.46"
console.log(toFixedMax(123.4, 2)); // 输出: "123.4"
console.log(toFixedMax(123.0, 2)); // 输出: "123"
这个函数接受两个参数,num
是要处理的数字,maxDecimals
是希望保留的最大小数位数。如果数字中包含小数点,它会使用 toFixed
方法保留至 maxDecimals
位小数,然后将结果转换回字符串。如果没有小数点,它会返回数字的原始字符串表示。
评论已关闭