formatBigNumber

This commit is contained in:
oc 2018-12-12 12:41:57 +08:00
parent b646c1cb3e
commit 7671a92586
5 changed files with 24 additions and 16 deletions

View File

@ -504,7 +504,7 @@ core.utils.decodeBase64(str)
Base64解密字符串
core.utils.formatBigNumber(x)
core.utils.formatBigNumber(x, onMap)
大数据的格式化

View File

@ -1374,7 +1374,7 @@ control.prototype.snipe = function (snipes) {
else if (damage < core.status.hero.hp) color = '#FF7F00';
else color = '#FF0000';
damage = core.formatBigNumber(damage);
damage = core.formatBigNumber(damage, true);
if (core.enemys.hasSpecial(core.material.enemys[block.event.id], 19))
damage += "+";
if (core.enemys.hasSpecial(core.material.enemys[block.event.id], 21))
@ -1623,7 +1623,7 @@ control.prototype.updateDamage = function (floorId, canvas) {
else if (damage < hero_hp * 2 / 3) color = '#FFFF00';
else if (damage < hero_hp) color = '#FF7F00';
else color = '#FF0000';
damage = core.formatBigNumber(damage);
damage = core.formatBigNumber(damage, true);
if (core.enemys.hasSpecial(core.material.enemys[id], 19))
damage += "+";
if (core.enemys.hasSpecial(core.material.enemys[id], 21))
@ -1646,7 +1646,7 @@ control.prototype.updateDamage = function (floorId, canvas) {
if (core.flags.displayCritical) {
var critical = core.enemys.nextCriticals(id);
if (critical.length>0) critical=critical[0];
critical = core.formatBigNumber(critical[0]);
critical = core.formatBigNumber(critical[0], true);
if (critical == '???') critical = '?';
canvas.fillStyle = '#000000';
canvas.fillText(critical, 32 * x + 2, 32 * (y + 1) - 2 - 10);
@ -1678,7 +1678,7 @@ control.prototype.updateDamage = function (floorId, canvas) {
for (var y=0;y<core.bigmap.height;y++) {
var damage = core.status.checkBlock.damage[x+core.bigmap.width*y];
if (damage>0) {
damage = core.formatBigNumber(damage);
damage = core.formatBigNumber(damage, true);
canvas.fillStyle = '#000000';
canvas.fillText(damage, 32 * x + 17, 32 * (y + 1) - 13);
canvas.fillText(damage, 32 * x + 15, 32 * (y + 1) - 15);

View File

@ -1037,8 +1037,8 @@ core.prototype.formatDate2 = function (date) {
}
////// 格式化大数 //////
core.prototype.formatBigNumber = function (x) {
return core.utils.formatBigNumber(x);
core.prototype.formatBigNumber = function (x, onMap) {
return core.utils.formatBigNumber(x, onMap);
}
////// 两位数显示 //////

View File

@ -2225,8 +2225,8 @@ ui.prototype.drawSLPanel = function(index, refresh) {
core.strokeRect('ui', (2*i+1)*u-size/2, 45, size, size, i==offset?strokeColor:'#FFFFFF', i==offset?6:2);
if (core.isset(data) && core.isset(data.floorId)) {
core.ui.drawThumbnail(data.floorId, 'ui', core.maps.load(data.maps, data.floorId).blocks, (2*i+1)*u-size/2, 45, size, data.hero.loc.x, data.hero.loc.y, data.hero.loc, data.hero.flags.heroIcon||"hero.png");
var v = core.formatBigNumber(data.hero.hp)+"/"+core.formatBigNumber(data.hero.atk)+"/"+core.formatBigNumber(data.hero.def);
var v2 = "/"+core.formatBigNumber(data.hero.mdef);
var v = core.formatBigNumber(data.hero.hp,true)+"/"+core.formatBigNumber(data.hero.atk,true)+"/"+core.formatBigNumber(data.hero.def,true);
var v2 = "/"+core.formatBigNumber(data.hero.mdef,true);
if (v.length+v2.length<=21) v+=v2;
core.fillText('ui', v, (2*i+1)*u, 60+size, '#FFD700', '10px '+globalFont);
core.fillText('ui', core.formatDate(new Date(data.time)), (2*i+1)*u, 73+size, data.hero.flags.consoleOpened?'#FF6A6A':'#FFFFFF');
@ -2241,8 +2241,8 @@ ui.prototype.drawSLPanel = function(index, refresh) {
core.strokeRect('ui', (2*i-5)*u-size/2, 233, size, size, i==offset?strokeColor:'#FFFFFF', i==offset?6:2);
if (core.isset(data) && core.isset(data.floorId)) {
core.ui.drawThumbnail(data.floorId, 'ui', core.maps.load(data.maps, data.floorId).blocks, (2*i-5)*u-size/2, 233, size, data.hero.loc.x, data.hero.loc.y, data.hero.loc, data.hero.flags.heroIcon||"hero.png");
var v = core.formatBigNumber(data.hero.hp)+"/"+core.formatBigNumber(data.hero.atk)+"/"+core.formatBigNumber(data.hero.def);
var v2 = "/"+core.formatBigNumber(data.hero.mdef);
var v = core.formatBigNumber(data.hero.hp,true)+"/"+core.formatBigNumber(data.hero.atk,true)+"/"+core.formatBigNumber(data.hero.def,true);
var v2 = "/"+core.formatBigNumber(data.hero.mdef,true);
if (v.length+v2.length<=21) v+=v2;
core.fillText('ui', v, (2*i-5)*u, 248+size, '#FFD700', '10px '+globalFont);
core.fillText('ui', core.formatDate(new Date(data.time)), (2*i-5)*u, 261+size, data.hero.flags.consoleOpened?'#FF6A6A':'#FFFFFF', '10px '+globalFont);

View File

@ -297,14 +297,14 @@ utils.prototype.setTwoDigits = function (x) {
return parseInt(x)<10?"0"+x:x;
}
utils.prototype.formatBigNumber = function (x) {
utils.prototype.formatBigNumber = function (x, onMap) {
x = Math.floor(parseFloat(x));
if (!core.isset(x)) return '???';
var c = x<0?"-":"";
x = Math.abs(x);
if (x<=999999) return c + x;
if (x<=99999 || (!onMap && x<=999999)) return c + x;
var all = [
{"val": 1e20, "c": "g"},
@ -316,9 +316,17 @@ utils.prototype.formatBigNumber = function (x) {
for (var i=0;i<all.length;i++) {
var one = all[i];
if (x>=10*one.val) {
var v = x/one.val;
return c + v.toFixed(Math.max(0, Math.floor(4-Math.log10(v+1)))) + one.c;
if (onMap) {
if (x>=one.val) {
var v = x/one.val;
return c + v.toFixed(Math.max(0, Math.floor(3-Math.log10(v+1)))) + one.c;
}
}
else {
if (x>=10*one.val) {
var v = x/one.val;
return c + v.toFixed(Math.max(0, Math.floor(4-Math.log10(v+1)))) + one.c;
}
}
}