分享

js测试方法(格式化金额,包含中文的字符串截取)

 昵称17458001 2014-05-17

<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312" />
<style></style>
<title>方法测试</title>
<script type="text/javascript">
//Add by xueyongjian 20121009 begin
// 初始化本次服务流程

 var Balance = numFormat("000000000000");
//alert(Balance);
  var amount = parseFloat("0001203.75");
  var i = parseFloat("2656.82");
 // alert("ss="+i);
  // alert("ss="+amount);
function numFormat(inValue)
{
 var strNum = "";
    var isOnly = true;
    if(inValue.length == 1)
  {
   strNum = "0.0"+ inValue;
  }
 if(inValue.length == 2)
 {
   strNum = "0."+inValue;
   return strNum;
  } 
    for(var x=0; x<=inValue.length-2; x++)
    {
      var charA = inValue.substring(x,x+1);
      var charB = inValue.substring(x+1,x+2);
     
      if(charA != "0"  && isOnly)
   {
  strNum = inValue.substring(x,inValue.length-2)+"."+inValue.substring(inValue.length-2,inValue.length);
        isOnly = false; 
   }
   else if(charA == "0" && charB != "0" && isOnly)
      {
     strNum = inValue.substring(x+1,inValue.length-2)+"."+inValue.substring(inValue.length-2,inValue.length);
        isOnly = false;
      }
    }
    return strNum;
}

function formatCurrency(num) {
    num = num.toString().replace(/\$|\,/g,'');
    if(isNaN(num))
    num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num*100+0.50000000001);
    cents = num%100;
    num = Math.floor(num/100).toString();
    if(cents<10)
    cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
    num = num.substring(0,num.length-(4*i+3))+','+
    num.substring(num.length-(4*i+3));
    return (((sign)?'':'-') + num + '.' + cents);
}

function formatCurrencyTenThou(num) {
    num = num.toString().replace(/\$|\,/g,'');
    if(isNaN(num))
    num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num*10+0.50000000001);
    cents = num%10;
    num = Math.floor(num/10).toString();
    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
    num = num.substring(0,num.length-(4*i+3))+','+
    num.substring(num.length-(4*i+3));
    return (((sign)?'':'-') + num + '.' + cents);
}

var str = "9264684ac5e249f0a6a13c84b9421910李文欣                                                      0000000.000000045.050000000.00";
var l = 0;
for(var i = 0; i<str.length;i++)
{
 if(str.charCodeAt(i) > 128)
 {
  l++;
 }
}
function SetString(str,len)
{
 var strlen = 0;
 var s = "";
 for(var i = 0;i<str.length;i++)
 {
  if(str.charCodeAt(i) > 128)
  {
   strlen += 2;
  }else
  {
   strlen++;
  }
  s += str.charAt(i);
  if(strlen >= len)
  {
   return s;
  }
 }
 return s;
}

function getChars(str)
{
 var i = 0;
 var c = 0.0;
 var unicode = 0;
 var len = 0;
 if(str == null || str == "")
 {
  return 0;
 }
 len = str.length;
 for(i = 0; i<len;i++)
 {
  if(unicode < 127)
  {
   c +=1;
  }else
  {
   c += 2;
  }
 }
 return c;
}

function sb_strlen(str)
{
 return getChars(str);
}

function sb_substr(str,startp,endp)
{
 var i=0;c = 0;unicode = 0; rstr = "";
 var len = str.length;
 var svlen = sb_strlen(str);
 if(startp < 0)
 {
  startp = sblen + startp;
 }
 if(endp < 1)
 {
  endp = sblen + endp;
  ((str.charCodeAt(len - 1) < 127 ) ? 1:2);
 }
 for(i = 0;i < len;i++)
 {
  if(c >= startp)
  {
   break;
  }
  var unicode = str.charCodeAt(i);
  if(unicode < 127)
  {
   c += 1;
  }else
  {
   c += 2;
  }
 }
 
 for(i = i; i < len;i++)
 {
  var unicode = str.charCodeAt(i);
  if(unicode < 127)
  {
   c += 1;
  }else
  {
   c +=2;
  }
  rstr += str.charAt(i);
  if(c >= endp)
  {
   break;
  }
 }
 return rstr;
}
/*
var str1 = "张强                                              大连市                                                                                              0120141                                           2014000001000000000123  000000001234000000003112000000001000";
alert(sb_substr(str1,0,50));
alert(sb_substr(str1,50,150));
alert(sb_substr(str1,150,200));
alert(sb_substr(str1,200,204));
alert(sb_substr(str1,204,224));
alert(sb_substr(str1,224,236));
alert(sb_substr(str1,236,248));
alert(sb_substr(str1,248,260));
*/

//var str = "d1dbfe51d4804ed7a3dbf598b6f2cd25王大雷                                                      0000032.850000000.000000032.85";
alert(sb_substr(str,0,32));
alert(sb_substr(str,32,92));
alert(sb_substr(str,92,102));
alert(sb_substr(str,102,112));
alert(sb_substr(str,112,124));

</script>
</head>

<body>
</body>
</html>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多