//显示指定有效位数
function dataFormat(value, count) {
if (!value) return "0";
//先转换成字符串
value = value.toString();
var minusIndex = value.indexOf("-");
value = value.replace("-", "");
//获取非0的第一个有效数字坐标
var startIndex = 0;
for (var i = 0; i < value.length; i++) {
if (value.charAt(i) !== "0" && value.charAt(i) !== ".") {
startIndex = i;
break;
}
}
var tempStr = value.substr(startIndex);
var tempNum = new Number(tempStr);
//处理有效位从0开始的浮点数
var pointIndex = tempStr.indexOf(".");
if (pointIndex > 0) {
if (pointIndex <= count) {
tempStr = tempNum.toFixed(count - pointIndex);
} else {
tempStr = Math.round(tempNum).toString();
}
}
//组合成新有字符串
var tempStr2 = value.substr(0, startIndex) + tempStr;
var newValue = tempStr2;
var tempNum2 = new Number(tempStr2);
//处理有效位从0开始的整数
if (tempStr2.indexOf(".") < 0) {
if (tempStr2.length > count) {
newValue = tempNum2.toExponential(count - 1);
} else {
newValue = tempNum2.toFixed(count - tempStr2.length);
}
} else {
//处理有效位从非0开始的浮点数
if (startIndex > 0) {
if (startIndex >= count) {
newValue = tempNum2.toExponential(count - 1);
} else {
newValue = tempNum2.toFixed(count+startIndex-2);
}
}
}
return minusIndex === 0 ? "-" + newValue : newValue;
}