资讯专栏INFORMATION COLUMN

关于单位转换问题(M, G, TB, PB)

techstay / 514人阅读

/**
 * @param array such as [1024, 2048, 20480, 102400]
 * @param unit such as M
 * @return return proper unit from units
 */
var units = ["M", "G", "TB", "PB"];
function solveUnit(array, unit) { 
    var power, unitIndex;
    var lastChooseIndex = units.indexOf(unit);
    for(var i = 0, len = array.length; i < len; i++) {
        power = 1024; // set back to 1024
        unitIndex = units.indexOf(unit);
        while(Math.floor(array[i] / power) > 100 ) {
            unitIndex++;
            power = power * power;
        }
        if(unitIndex > lastChooseIndex) {
            lastChooseIndex = unitIndex;
        }   
    }
    return units[lastChooseIndex];
}
function formatArray(array, unit, _get) {
    if(unit == _get) {
        array.forEach(function(item) {
            console.log(item + ""+unit);
        });
        return array;
    }
    var gap = units.indexOf(_get) - units.indexOf(unit);
    var power = 1024;
    while(gap>1) {
        power = power * power;
        gap--;
    }
    var ret  = array.map(function(item) {
        console.log( (item/power).toFixed(1) + "" + _get );
        return (item/power).toFixed(1);
    });
    return ret;
}
// test
var array = [112640, 141312];
var unit = "M";
var _get = solveUnit(array, unit);
formatArray(array, unit, _get);

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/85651.html

相关文章

  • 一些有用的工具函数,如input输入小数的位数限制

    摘要:限制数字且最多输入小数的位数输入的对象输入长度最后一个字符是如果符号超过一个存在符号并且不止一位数注在调用的时候需要用原生来绑定对象日期转换函数,可以根据需求来设置前几天后几天或或或或单位自动转换单位 /** * 限制数字且最多输入小数的位数 * @param {[type]} elem 输入的对象 * @param {[type]} len 输入长度 * @return...

    LeoHsiun 评论0 收藏0
  • PB 级数据处理挑战,Kubernetes如何助力基因分析?

    摘要:阿里云基因数据服务不断提升极致弹性的计算能力,和大规模并行处理能力,以及海量高速存储来帮助基因公司快速自动化处理每天几十上百的下机数据,并产通过标准产出高质量的变异数据。 摘要: 一家大型基因测序功能公司每日会产生 10TB 到 100TB 的下机数据,大数据生信分析平台需要达到 PB 级别的数据处理能力。这背后是生物科技和计算机科技的双向支撑:测序应用从科研逐步走向临床应用,计算模...

    forsigner 评论0 收藏0
  • PHP 常用函数记录 一

    递归创建目录 /** * 递归创建目录 * @param [type] $dir [description] * @return [type] [description] */ function mkdirs($dir) { if(!is_dir($dir)){ if(!mkdirs(dirname($dir))){ return...

    snowell 评论0 收藏0
  • 什么是大数据

    一、什么是大数据进入本世纪以来,尤其是2010年之后,随着互联网特别是移动互联网的发展,数据的增长呈爆炸趋势,已经很难估计全世界的电子设备中存储的数据到底有多少,描述数据系统的数据量的计量单位从MB(1MB大约等于一百万字节)、GB(1024MB)、TB(1024GB),一直向上攀升,目前,PB(等于1024TB)级的数据系统已经很常见,随着移动个人数据、社交网站、科学计算、证券交易、网站日志、传...

    learn_shifeng 评论0 收藏0

发表评论

0条评论

techstay

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<