Issue #117: Done.
This commit is contained in:
@@ -178,6 +178,7 @@ import MoreModal from './MoreModal.vue';
|
|||||||
import getNumberLabel from '@/module/numberLabel.js';
|
import getNumberLabel from '@/module/numberLabel.js';
|
||||||
import { setLineChartData, setBarChartData, timeRange, yTimeRange, getXIndex, formatTime } from '@/module/setChartData.js';
|
import { setLineChartData, setBarChartData, timeRange, yTimeRange, getXIndex, formatTime } from '@/module/setChartData.js';
|
||||||
import abbreviateNumber from '@/module/abbreviateNumber.js';
|
import abbreviateNumber from '@/module/abbreviateNumber.js';
|
||||||
|
import shortScaleNumber from '@/module/shortScaleNumber.js';
|
||||||
import getMoment from 'moment';
|
import getMoment from 'moment';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -563,8 +564,8 @@ export default {
|
|||||||
color: '#334155',
|
color: '#334155',
|
||||||
align: 'inner',
|
align: 'inner',
|
||||||
callback: function(value, index, values) {
|
callback: function(value, index, values) {
|
||||||
if (index === 0) return abbreviateNumber(value);
|
if (index === 0) return shortScaleNumber(value);
|
||||||
else if (index === values.length - 1) return abbreviateNumber(value);
|
else if (index === values.length - 1) return shortScaleNumber(value);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
grid: {
|
grid: {
|
||||||
|
|||||||
19
src/module/shortScaleNumber.js
Normal file
19
src/module/shortScaleNumber.js
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
/**
|
||||||
|
* 數量單位轉換,輸出 k m b t 數值。
|
||||||
|
* @param {number} number
|
||||||
|
* @returns {string}
|
||||||
|
*/
|
||||||
|
export default function shortScaleNumber(number) {
|
||||||
|
const abbreviations = ["", "k", "m", "b", "t"];
|
||||||
|
let index = 0;
|
||||||
|
let num = number;
|
||||||
|
|
||||||
|
// 確保在轉換數字時,不會超出索引範圍。如果 index 已經達到了最後一個單位縮寫(t,兆),那麼我們就不再進行轉換,以免超出數組的範圍。
|
||||||
|
while (num >= 1000 && index < abbreviations.length - 1) {
|
||||||
|
num /= 1000;
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
// 使用 Math.ceil 來無條件進位
|
||||||
|
num = Math.ceil(num * 10) / 10;
|
||||||
|
return num + abbreviations[index] + " " ;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user