js⾦钱格式单位转换
// 元转分 - 解决精度问题 yuan:要转换的钱,单位元; digit:转换倍数
function regYuanToFen (yuan,digit){
var m=0,
String(),
String();胎记的形成原因
try{m+=s1.split(".")[1].length}catch(e){}
try{m+=s2.split(".")[1].length}catch(e){}
return place(".",""))*place(".",""))/Math.pow(10,m)
}
// 判断是否最多两位⼩数,正负均可
function checkTwoPointNum (inputNumber) {
var partten = /^-?\d+\.?\d{0,2}$/;
st(inputNumber)
狂犬病的早期症状};
// 强制保留2位⼩数,如:2,会在2后⾯补上00.即2.00
function toDecimal2 (x) {
var f = parFloat(x);
if (isNaN(f)) {
return fal;
}
var f = und(x * 100) / 100;
var s = f.toString();
var rs = s.indexOf('.');
if (rs < 0) {
rs = s.length;
s += '.';
}
while (s.length <= rs + 2) {
s += '0';
}
return s;
}
/
/ ⾦额转为⼤写汉⼦
function priceUpperca (money) {
var cnNums = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"); //汉字的数字
var cnIntRadice = new Array("","拾","佰","仟"); //基本单位
var cnIntUnits = new Array("","万","亿","兆"); //对应整数部分扩展单位
var cnDecUnits = new Array("⾓","分","毫","厘"); //对应⼩数部分单位
//var cnInteger = "整"; //整数⾦额时后⾯跟的字符
var cnIntLast = "元"; //整型完以后的单位
var maxNum = 999999999999999.9999; //最⼤处理的数字
var IntegerNum; //⾦额整数部分
var DecimalNum; //⾦额⼩数部分
var ChineStr=""; //输出的中⽂⾦额字符串
var parts; //分离⾦额后⽤的数组,预定义
if( money == "" ){
return "";
}
money = parFloat(money);
if( money >= maxNum ){
// $.alert('超出最⼤处理数字');
return "";
}
if( money == 0 ){
/
/ChineStr = cnNums[0]+cnIntLast+cnInteger;
//ChineStr = cnNums[0]+cnIntLast+cnInteger;
木瓜作用ChineStr = cnNums[0]+cnIntLast
//ElementById("show").value=ChineStr; return ChineStr;
}
money = String(); //转换为字符串
if( money.indexOf(".") == -1 ){
IntegerNum = money;
DecimalNum = '';
cnIntLast = '元整'
}el{
北京鸟洞
parts = money.split(".");
IntegerNum = parts[0];
DecimalNum = parts[1].substr(0,4);
}
var zeroCount = 0;
var IntLen = 0;
var n;
var p;
var m;
var q;
var decLen = 0;
if( parInt(IntegerNum,10) > 0 ){//获取整型部分转换
zeroCount = 0;
IntLen = IntegerNum.length;
for( var i=0;i<IntLen;i++ ){
n = IntegerNum.substr(i,1);
p = IntLen - i - 1;
q = p / 4;
m = p % 4;
if( n == "0" ){
zeroCount++;
}el{
if( zeroCount > 0 ){
ChineStr += cnNums[0];
长寿乐}
zeroCount = 0; //归零
ChineStr += cnNums[parInt(n)]+cnIntRadice[m]; }
if( m==0 && zeroCount<4 ){
ChineStr += cnIntUnits[q];
}
}
ChineStr += cnIntLast;
//整型部分处理完毕
}
if( DecimalNum!= '' ){//⼩数部分
decLen = DecimalNum.length;
for( i=0; i<decLen; i++ ){
n = DecimalNum.substr(i,1);
if( n != '0' ){
ChineStr += cnNums[Number(n)]+cnDecUnits[i]; }
}
}
if( ChineStr == '' ){
//ChineStr += cnNums[0]+cnIntLast+cnInteger;
ChineStr += cnNums[0]+cnIntLast;
}/* el if( DecimalNum == '' ){
ChineStr += cnInteger;
ChineStr += cnInteger;
} */
柏鉴return ChineStr;
};
// 格式化⾦钱,三位加⼀个逗号
function priceToThousands (num) {
if (num) {
num = toDecimal2(num)
/
/将num中的$,去掉,将num变成⼀个纯粹的数据格式字符串
num = String().replace(/\$|\,/g, '');
//如果num不是数字,则将num置0,并返回
if ('' == num || isNaN(num)) {
return 'Not a Number ! ';
}
//如果num是负数,则获取她的符号
var sign = num.indexOf("-") > 0 ? '-' : '';
//如果存在⼩数点,则获取数字的⼩数部分
var cents = num.indexOf(".") > 0 ? num.substr(num.indexOf(".")) : '';
cents = cents.length > 1 ? cents : '';//注意:这⾥如果是使⽤change⽅法不断的调⽤,⼩数是输⼊不了的
//获取数字的整数数部分
num = num.indexOf(".") > 0 ? num.substring(0, (num.indexOf("."))) : num;
//如果没有⼩数点,整数部分不能以0开头
if ('' == cents) {
if (num.length > 1 && '0' == num.substr(0, 1)) {
return 'Not a Number ! ';
}
}
//如果有⼩数点,且整数的部分的长度⼤于1,则整数部分不能以0开头
el {
if (num.length > 1 && '0' == num.substr(0, 1)) {
return 'Not a Number ! ';
}
}
//针对整数部分进⾏格式化处理,这是此⽅法的核⼼,也是稍难理解的⼀个地⽅,逆向的来思考或者采⽤简单的事例来实现就容易多了 /*
酱焖鲫鱼怎么做
也可以这样想象,现在有⼀串数字字符串在你⾯前,如果让你给他家千分位的逗号的话,你是怎么来思考和操作的?
字符串长度为0/1/2/3时都不⽤添加
字符串长度⼤于3的时候,从右往左数,有三位字符就加⼀个逗号,然后继续往前数,直到不到往前数少于三位字符为⽌
*/
spa精油
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);
}
}