博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
将字符串或者数字转化成英文格式输出
阅读量:6970 次
发布时间:2019-06-27

本文共 2350 字,大约阅读时间需要 7 分钟。

var f = function(a){    var b = String(a);    var len = b.length;    var j = len % 3;    var arr = [];    if (len <= 3) {
return b}; if (j==0) { return m(arr,b,len,0); }else{ arr[0] = b.substr(0,j); b = b.substr(j); return m(arr,b,len,1); } }var m = function(arr,b,len,k){ for (var i = k; i < len/3; i++) { arr[i] = b.substr(0,3); b = b.substr(3); } return arr.join(",");}

暂时这么写,以后有更好的方式再来更新。

                                                                  6.10

 

 

 

补充: 第一种方法效率太差

//方法二console.time("2")function splitStr2(str){        var len = str.length;        var n = parseInt(len/3);        if (len%3 === 0){            --n;        }        for(var i = n; i > 0; i--){            str = str.substr(0, len-3*(n+1-i))+","+str.substr(len-3*(n+1-i), 3*(n+1-i)+n-i);        }        return str;    }    splitStr2("1234567890");    console.timeEnd("2")//方法三//console.time("3")function splitStr3(str){        var len = str.length;        var n = parseInt(len/3);        if (len%3 === 0){            --n;        }        for (var i = 0; i < n; i++)            str += "1";        var tmp = str.split('');        for (var i = len - 1; i > 2; i -= 3){            tmp[i+n] = tmp[i];            tmp[i+n-1] = tmp[i-1];            tmp[i+n-2] = tmp[i-2];            tmp[i+n-3] = ",";            n--;        }        tmp.join('');    }    splitStr3("1234567890");console.timeEnd("3");//方法四console.time("4");function splitstr4 (str) {    // body...    var tmp = "";    var r = "";    for (var len = str.length,i=len-1; i >= 0; i--) {        tmp = str[i] + tmp;        if (tmp.length == 3) {            r = " ," + tmp + r;            tmp = "";        };    };    r = tmp + r;    if (len % 3 === 0) {        r = r.substr(2);    };    return r;}splitstr4("1234567890");console.timeEnd("4")//方法五console.time("5")function changeStr(str) {  var len = str.length;  var n = len % 3;  var pat = /\d\d\d/g;  var m;  var arr = [  ];  if (n != 0) {    arr[0] = str.substr(0,n);    str= str.substr(n);    for (var i = 0; i < len / 3; i++) {      m = pat.exec(str);      arr[i + 1] = m[0];    }  } else {    for (var i = 0; i < len / 3; i++) {      m = pat.exec(str);      arr[i] = m[0];    }  }  return arr.join(",");}changeStr('123456789')console.timeEnd("5")

 

转载于:https://www.cnblogs.com/julyys/p/4570061.html

你可能感兴趣的文章
一起谈.NET技术,Visual Studio DSL 入门 3---创建一个简单的DSL模型
查看>>
一起谈.NET技术,ASP.NET MVC中对数据进行排序的方法
查看>>
委托、匿名方法、Lambda表达式的演进
查看>>
Thinking in Unity3D:基于物理着色(PBS)的材质系统(转)
查看>>
CMD命令窗口复制与粘贴
查看>>
springmvc文件上传
查看>>
本质:sqlserver为什么表变量不能truncate
查看>>
【转载】 iphone CAlayer 教程
查看>>
双系统卸载linux 修复启动方法
查看>>
EXT.NET高效开发(二)——封装函数
查看>>
vs 密钥
查看>>
ide vim 设置zz
查看>>
使用jQuery和CSS3创建一个支持翻转效果的微/轻博客网站列表
查看>>
使用inotify-tools监控Linux下网站文件变动情况
查看>>
eclipse 升级 adt
查看>>
CSS选择器(上)——常见选择器
查看>>
Glusterfs之rpc模块源码分析(中)之Glusterfs的rpc模块实现(3)
查看>>
华中地区高校第七届ACM程序设计大赛——之字形矩阵【2012年5月27日】
查看>>
VS2010引用App_Code下的类文件问题解决方法(转)
查看>>
PHP 中xampp不能启动服务器的问题
查看>>