普通人是很难财富自由的
因为他们存到第一个20w就想买个车
有60万他们就想买个房
所以普通人的困境不是赚不到钱
而是守不住财
/**
* 格式化数值并生成可显示的字符串
* @param {number|function} value - 要格式化的数值或返回数值的函数
* @param {number} precision - 精度,保留小数位数,默认为0
* @param {string} thousandsSeparator - 千位分隔符,默认为','
* @param {string} decimalSeparator - 小数点分隔符,默认为'.'
* @returns {string} 格式化后的数值字符串
*/
function formatDisplayValue(value, precision = 0, thousandsSeparator = ',', decimalSeparator = '.') {
// 如果传入的值是函数,则直接调用该函数
if (typeof value === 'function') return value();
// 如果传入的值不是数字,直接返回
if (typeof value !== 'number') return value;
// 将传入的数字值转换为字符串,并通过小数点进行拆分,得到整数部分和小数部分(如果有的话)
let [integer, decimal = ''] = String(value).split('.');
// 在小数部分末尾补充0,直到达到指定的精度,然后截取合适长度的小数部分
decimal = decimal.padEnd(precision, '0').slice(0, precision > 0 ? precision : 0);
// 在整数部分中插入千位分隔符
integer = integer.replace(/\B(?=(\d{3})+(?!\d))/g, thousandsSeparator);
// 将整数部分和小数部分合并,并根据是否有小数部分确定使用哪种小数点分隔符
return [integer, decimal].join(decimal ? decimalSeparator : '');
}
formatDisplayValue(1234567.89, 2);
* 格式化数值并生成可显示的字符串
* @param {number|function} value - 要格式化的数值或返回数值的函数
* @param {number} precision - 精度,保留小数位数,默认为0
* @param {string} thousandsSeparator - 千位分隔符,默认为','
* @param {string} decimalSeparator - 小数点分隔符,默认为'.'
* @returns {string} 格式化后的数值字符串
*/
function formatDisplayValue(value, precision = 0, thousandsSeparator = ',', decimalSeparator = '.') {
// 如果传入的值是函数,则直接调用该函数
if (typeof value === 'function') return value();
// 如果传入的值不是数字,直接返回
if (typeof value !== 'number') return value;
// 将传入的数字值转换为字符串,并通过小数点进行拆分,得到整数部分和小数部分(如果有的话)
let [integer, decimal = ''] = String(value).split('.');
// 在小数部分末尾补充0,直到达到指定的精度,然后截取合适长度的小数部分
decimal = decimal.padEnd(precision, '0').slice(0, precision > 0 ? precision : 0);
// 在整数部分中插入千位分隔符
integer = integer.replace(/\B(?=(\d{3})+(?!\d))/g, thousandsSeparator);
// 将整数部分和小数部分合并,并根据是否有小数部分确定使用哪种小数点分隔符
return [integer, decimal].join(decimal ? decimalSeparator : '');
}
formatDisplayValue(1234567.89, 2);
展开
评论
点赞