JS to achieve the perfect compatibility of the major browsers in the case of RMB conversion _javascript skills

Source: Internet
Author: User

/* Lowercase to Capital * *

var xcc= "12.22";
document.write (xcc+ "=>" +FORMATRMB (XCC) + "<br/>");



/* Uppercase to lowercase */

var rrrr = "One to pick up the other points";
document.write (rrrr+ "=>" +PARSERMB (rrrr));

Output results:
12.22=> to pick up the other point
I'll pick up the =>12.22

Let's take a look at the specific examples

var c = "0 One of the three Woolu Qi Ba Nine". Split (""); [0], "one", "II", "San", "Restaurant", "WU", "Lu", "Qi", "ba", "Nine"] var _c = {};
 
Reverse correspondence for (var i = 0; i < c.length; i++) {_c[c[i]] = i;};
var d = "Yuan * * * million * * * million";
var e = ", pick, Bai, Qian". Split (",");
  function Unit4 (arr) {var str = "", i = 0;
    while (arr.length) {var t = Arr.pop (); str = (C[t] + (t = = 0?)
    "": e[i]) + str;
  i++;
 
  str = str.replace (/[0]{2,}/g, "0");
  str = str.replace (/^[0]/, "");
  str = str.replace (/[0]$/, "");
  if (Str.indexof ("0") = = 0) {str = str.substring (1);
  } if (Str.lastindexof ("0") = = str.length-1) {str = str.substring (0, str.length-1);
return str;
  function _formatd (a) {//convert integer part var arr = A.split (""), I = 0, result = "";
 
    while (arr.length) {var arr1 = Arr.splice (-4, 4);
 
    var dw = D.charat (i), Unit = UNIT4 (ARR1);
    if (DW = = ' million ' &&!unit) {dw = "";
    result = unit + DW + result;
  i + 4; return result = = "Yuan"?
"": Result;} function _foRMATF (b) {//convert decimal Part b = B | |
  "";
  Switch (b.length) {case 0:return "whole";
  Case 1:return C[b] + "angle";
  Default:return C[b.charat (0)] + "angle" + c[b.charat (1)] + "min";
  } function _format (n) {var a = ("" + N). Split ("."), a0 = a[0], a1 = a[1];
Return _FORMATD (A0) + _FORMATF (A1);
  function Parse4 (U4) {var res = 0; while (t =/([0 Woolu qi Ba Nine]) ([Collect Bai Qian]?)
    /g.exec (U4)) {var n = _c[t[1]], d = {"": 1, "Pick up": 10, "Bai": 100, "thousand": 1000}[t[2];
    RES = n * D;
  U4 = U4.replace (t[0], "");
  var result = ("0000" + res);
Return result.substring (result.length-4);
  function _parsed (d) {var arr = D.replace (/[0]/g, ""). Split (/[trillion]/), rs = "";
  for (var i = 0; i < arr.length i++) {rs + + PARSE4 (Arr[i]);
  }
  ;
Return Rs.replace (/^[0]+/, "");}; function _parsef (f) {var res = "", T = F.replace (/[^ 0, Woolu qi ba nine]+/g, ""). Split ("");
  Remove unit if (t.length) {res = ".";
  else {return "";
  }
  ; For (Var i = 0; (I < t.length && I < 2);
  i++) {res = _c[t[i]];
  }
  ;
return res;
};
  function _parse (RMB) {var a = Rmb.split ("Yuan"), A1 = A[1], a0 = a[0];
    if (a.length = = 1) {a1 = a0;
  a0 = "";
 
Return _parsed (A0) + _PARSEF (A1);
};
  lowercase capitalization function formatrmb (num) {var n = number (num);
    if (!isnan (num)) {if (num = 0) {return "0 yuan whole";
    }else{return _format (n);
  }}else {return false;
    }//Uppercase to lowercase function parsermb (RMB) {if (/^[0, Woolu qi BA Shangyuan trillion thousand cents to the whole]{2,}$/.test (RMB)) {var result = _parse (RMB); return RMB = = THIS.FORMATRMB (result)?
  Result:result + "(?)";
  else {return false;
}
};
/* Lowercase to uppercase/var xcc= "12.22";
 
document.write (xcc+ "=>" +FORMATRMB (XCC) + "<br/>");
/* Uppercase to lowercase/var rrrr = "One to pick up the other points";
 document.write (rrrr+ "=>" +PARSERMB (rrrr));

To see an example of converting the RMB to uppercase

RMB capitalization program JavaScript version//copyright Bardo QI function numtocny (num) {var capunit = [' million ', ' billion ', ' million ', ' round ', '];
  var capdigit = {2:[' jiao ', ' min ', '], 4:[' Qian ', ' Bai ', ' Pick ', ' ']};
  var capnum=[' 0 ', ' one ', ' II ', ' San ', ' Restaurant ', ' Wu ', ' Lu ', ' qi ', ' ba ', ' JIU '; if ((Num.tostring ()). IndexOf ('. ') > 16) | |
  (isNaN (num)))
  Return ";
  num = (Math.Round (num*100)/100). ToString ();
  num = ((Math.pow (10,19-num.length)). ToString ()). substring (1) +num;
  var i,ret,j,nodenum,k,subret,len,subchr,curchr=[];
  for (i=0,ret= '; I<5;i++,j=i*4+math.floor (I/4)) {nodenum=num.substring (j,j+4); For (k=0,subret= ', len=nodenum.length; ((k curchr[k%2] = Capnum[nodenum.charat (k)]+ ((Nodenum.charat (k) ==0)? ":
  Capdigit[len][k]); if (!) ( (Curchr[0]==curchr[1]) && (curchr[0]==capnum[0])) if (!) (
  (curchr[k%2] = = Capnum[0]) && (subret== ') && (ret== ')) Subret + = curchr[k%2];
  } SUBCHR = Subret + ((subret== ')? ': Capunit[i]); if (!) (
  (SUBCHR = = Capnum[0]) && (ret== ')) ret = SUBCHR; } ret= (ret== ')? CaPNUM[0]+CAPUNIT[3]: ret;
  return ret; }

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.