我有一些块如下例:
CREATE TABLESPACE xxx
我想从这些块中得到的是这样的:
// lowest and highest values of chunk arrays
[
[0, 945710.3843175517],
[945710.3843175517, 2268727.9557668166],
[2268727.9557668166, 14965451.25314727],
[14965451.25314727, 17890252.39415521],
[17890252.39415521, 3501296406.880383]
]
我将使用这些新数字作为信息地图的图例。
我使用一个函数来为每个值实现名为< 1.000.000
1.000.000 - 3.000.000
3.000.000 - 15.000.000
15.000.000 - 18.000.000
> 10.000.000
的目标。
所有数字均为正数,没有最大限制。
roundClosestLegendNumber
答案 0 :(得分:1)
我将乘数的比较从10 *
更改为100 *
,以便在0系列之前获得2位数的精度。
var roundClosestLegendNumber = function(number) {
if(number < 10) {
return number;
}
var multiplier = 10;
while(number >= 100 * multiplier) {
multiplier = 10 * multiplier;
}
count = 1;
while(number > multiplier * count) {
count++;
}
return multiplier * count;
}
答案 1 :(得分:0)
你可以使用有效数字,设置sf(我将我的设置为3)然后只显示前3个数字。
function sigFigure(v) {
let sf = 3;
if (v >= Math.pow(10,sf)) {
let number = v.toPrecision(sf);
let numbers = number.split("e+")
return parseInt((numbers[0]*Math.pow(10,numbers[1])).toFixed(0));
} else {
return v
}
}
var array = [0, 945710.38431755, 2268727.9557668166, 14965451.25314727, 17890252.39415521, 3501296406.880383];
console.log(array.map(sigFigure));