js金额转大写(万元为单位)

摘要:
vara=(“”+num).replace(/(^0*)/g,for(vari=a[0].length-1;=0;newRegExp(“0{4}\d”+(a[0].length-i-1)+“}$”).test(a[0]))re=BB[4]+re;BB[7]=BB[5];k=0;=0和&a[0].charAt(i+1)==0)re=AA[0]+re;
function NoToChinese(num) { 
        var AA = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"); 
        var BB = new Array("", "拾", "佰", "仟", "萬", "億", "点", ""); 
        var a = ("" + num).replace(/(^0*)/g, "").split("."), k = 0, re = ""; 
        for (var i = a[0].length - 1; i >= 0; i--) { 
            switch (k) { 
                case 0: re = BB[7] + re; break; 
                case 4: if (!new RegExp("0{4}\d{" + (a[0].length - i - 1) + "}$").test(a[0])) 
                        re = BB[4] + re; break; 
                case 8: re = BB[5] + re; BB[7] = BB[5]; k = 0; break; 
            } 
            if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0) re = AA[0] + re; 
            if (a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k % 4] + re; k++; 
        } 
        if (a.length > 1) //加上小数部分(如果有小数部分) 
        { 
            if(a[1]=='00'){ 
                re+=BB[0];
            }else{
                re += BB[6]; 
            }
            for (var i = 0; i < a[1].length; i++)
                if(a[1]!='00'){
                    re += AA[a[1].charAt(i)]; 
                }
            } 
        return re; 
        } 

免责声明:文章转载自《js金额转大写(万元为单位)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇用原生JS写根据时间显示问候语Oracle SQL外连接下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

浅谈FFT(快速傅里叶变换)

本文主要简单写写自己在算法竞赛中学习FFT的经历以及一些自己的理解和想法。 FFT的介绍以及入门就不赘述了,网上有许多相关的资料,入门的话推荐这篇博客:FFT(最详细最通俗的入门手册),里面介绍得很详细。 为什么要学习FFT呢?因为FFT能将多项式乘法的时间复杂度由朴素的$O(n^2)$降到$O(nlogn)$,这相当于能将任意形如$f[k]=sumlim...

JS-七大查找算法

顺序查找 二分查找 插值查找 斐波那契查找 树表查找 分块查找  哈希查找 查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。查找算法分类:1)静态查找和动态查找;注:静态或者动态都是针对查找表而言的。动态表指查找表中有删除和插入操作的表。2)无序查找和有序查找。无序查找:被查找数列有序无序均可;有序查找:被查找数列...

Vigenère 密码NOIP 2012 提高组 第一天 第一题

题目描述 16 世纪法国外交家 Blaise de Vigenère 设计了一种多表密码加密算法――Vigenère 密 码。Vigenère 密码的加密解密算法简单易用,且破译难度比较高,曾在美国南北战争中为 南军所广泛使用。 在密码学中,我们称需要加密的信息为明文,用 M 表示;称加密后的信息为密文,用 C 表示;而密钥是一种参数,是将明文转换为密文或...

算法分析思维分析,以循环赛日程表为例

第一步:分治法的简单思想 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)等等。 任何一个可以用...

bzoj:1072: [SCOI2007]排列perm

Description   给一个数字串s和正整数d, 统计s有多少种不同的排列能被d整除(可以有前导0)。例如123434有90种排列能被2整除,其中末位为2的有30种,末位为4的有60种。 Input   输入第一行是一个整数T,表示测试数据的个数,以下每行一组s和d,中间用空格隔开。s保证只包含数字0, 1, 2, 3, 4, 5, 6, 7, 8,...

K进制数

题目描述 考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0. 考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0. 例: 1010230 是有效的7位数 1000198 无效 0001235 不是7位数, 而是4位数. 给定两个数N和K, 要求计算包含N位数字的有效K-进...