为什么80%的码农都做不了架构师?>>>
效果如ZB这样展示。
对于价格和成交量数字进行小数位保留,不足小数位的地方进行截断或补零。
// value 当前数值
// scale 保留小数位
function formatNumber(value, scale) {
var result = ['', '']
var num = value.toString()
if (num.indexOf('.') !== -1) {
var arr = num.split('.')
result[0] = arr[0]
if (arr[1].length === scale) {
result[0] += '.' + arr[1]
} else if (arr[1].length > scale) {
var n = arr[1].substring(0, scale);
n = n.replace(/0+$/,'');
result[0] += '.' + n;
if(n.length < scale) {
result[1] = Array((scale + 1) - n.length).join(0);
}
} else if (arr[1].length < scale) {
var zeros = (scale + 1) - arr[1].length
result[0] += '.' + arr[1]
result[1] = Array(zeros).join(0)
}
} else {
result[0] = num
result[1] = '.' + (Array(scale + 1).join(0))
}
return '<strong class="number">' + result[0] + '</strong>' + result[1]
}
formatNumber('1.01017',3)
// <strong class="number">1.01</strong>0
formatNumber('1.10017',3)
// <strong class="number">1.1</strong>00
formatNumber('1',3)
// <strong class="number">1</strong>.000