日期:2014-05-16  浏览次数:20289 次

js科学计数法处理

? //通过移动小数点? 扩大倍数
? function scienceNum(value){
? ?if(!isEmpty(value)){
? ??var num=0;
? ??if((num=value.indexOf('E'))!=-1||(num=value.indexOf('e'))!=-1){
? ???var doubleStr=value.substring(0,num);
? ???var eStr=value.substring(num+1,value.length);
? ???eStr=parseInt(eStr);
? ???var doubleStrList=doubleStr.split('.');
? ???var doubleStr1=doubleStrList[0];
? ???var doubleStr2=doubleStrList[1];
? ???
? ???if(doubleStr2.length>eStr){
? ????var nums=doubleStr2.substring(0,eStr);
? ????var nume=doubleStr2.substring(eStr,doubleStr2.length);
? ????doubleStr=doubleStr1+nums+'.'+nume;
? ???}
? ???else if(doubleStr2.length<eStr){
? ????var indexNum=eStr-doubleStr2.length;
? ????//用0补齐
? ????var str='';
? ????for(var i=0;i<indexNum;i++){
? ?????str+='0';
? ????}
? ????doubleStr=doubleStr1+doubleStr2+str;
? ???}
? ???else{
? ????doubleStr=doubleStr1+doubleStr2;
? ???}
? ???value=doubleStr;
? ???//千分位
? ??}
? ?}
? ?return value;
? }
?
?
? function isEmpty(value){
? ?value = value.replace(/[ ]/g,'');
? ?if(value.length < 1){
? ??return true;
? ?}
? ?return false;
? }

//添加千分位分隔符

function count(str){
???//var str='12345678.111';
???//小数点后的数字
???var floatStr='';
???//小数点前的数字
???var strStart='';
???var num=0;
???if((num=str.indexOf('.')) != -1){
????var strList=str.split('.');
????strStart=strList[0];
????floatStr=strList[1];
???}
???var strNew='';
???var forLength=strStart.length/3;
???for(var i=0;i<forLength;i++){
????//结尾
????var strEndNow=strStart.substring(strStart.length-3,strStart.length);
????var strStartNow=strStart.substring(0,strStart.length-3);
????strStart=strStartNow;
????if(strNew!=''){
?????strNew=','+strNew;
????}
????strNew=strEndNow+strNew;
???}

?? if(floatStr!=''){

??? strNew=strNew+'.'+floatStr;

?? }
???return strNew;
??}