JavaScript数字金额转中文大写金额

在网页中有时需要将用户输入的金额数字转换为人民币大写显示出来,下面的提供的方法可以完美地自动完成这个功能(最多转换13位整数)

<!DOCTYPE html>
<html>
<head>
    <title>numberToChineseCapital</title>
    <meta charset="utf-8">
</head>
<body>
    <input type="text" id="number" style="width: 200px;">
    <span id="chinese"></span>
</body>
<script type="text/javascript" src="http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
<script>
    function numberToChineseCapital(number) {
        if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(number)) {
            return ‘数字格式不正确!‘;
        }

        number += ‘00‘;

        var unit = ‘万千百十亿千百十万千百十元角分‘,
            pointIndex = number.indexOf(‘.‘),
            chineseCapitalStr = ‘‘;

        // 如果有小数,截取整数位和小数位
        if (pointIndex !== -1) {
            number = number.substring(0, pointIndex) + number.substr(pointIndex + 1, 2);
        }

        // 根据输入金额的长度匹配对应的单位
        unit = unit.substr(unit.length - number.length);
        for (var i = 0; i < number.length; i++) {
            chineseCapitalStr += ‘零壹贰叁肆伍陆柒捌玖‘.charAt(number.charAt(i)) + unit.charAt(i);
        }

        return chineseCapitalStr
            .replace(/零(千|百|十|角)/g, ‘零‘)
            .replace(/(零)+/g, ‘零‘)
            .replace(/零(万|亿|元)/g, ‘$1‘)
            .replace(/(亿)万|元(拾)/g, ‘$1$2‘).replace(/^元零?|零分/g, ‘‘)
            .replace(/千/g, ‘仟‘)
            .replace(/百/g, ‘佰‘)
            .replace(/十/g, ‘拾‘)
            .replace(/元$/g, ‘元整‘);
    }

    $(‘#number‘).keyup(function() {
        $(‘#chinese‘).text(numberToChineseCapital($(this).val()));
    });
</script>
</html>
时间: 2024-12-18 00:38:27

JavaScript数字金额转中文大写金额的相关文章

(转)php数字金额转中文大写金额

function floatohz($value){ $result=''; $v_a=array('分','角','零','块','十',',百','千','万','十','百','千','亿'); $v_b=array('零','一','二','三','四','五','六','七','八','九','十'); $v_c=array(); $value=(string)$value; //保留小数点后两位 $value=sprintf("%0.2f",$value); //获取字符串

PHP算法--将数字金额转换成大写金额

最近在看一些PHP算法题,遇到一个将数字金额转换成大写金额的小算法题,这里贴出自己的一个例子. 注:这个小算法适用于10万以内的金额. <?php //$num = 12345.67; function RMB_Upper($num) { $num = round($num,2); //取两位小数 $num = ''.$num; //转换成数字 $arr = explode('.',$num); $str_left = $arr[0]; // 12345 $str_right = $arr[1]

Sql Server 数字金额转中文金额 函数

在做一些订单金额.合同金额转换的时候,经常会遇到数字转成中文的情况,所以整理了一个数字转中文的函数: /* 说明:数字金额转中文金额 示例:187.4 转成 壹佰捌拾柒圆肆角整 */ CREATE FUNCTION [dbo].[CNumeric](@num numeric(14,2)) returns nvarchar(100) BEGIN Declare @n_data nvarchar(20),@c_data nvarchar(100),@n_str nvarchar(10),@i int

numberToCapital() JavaScript数字金额转换为大写金额

function numberToCapital(number) { if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(number)) { return "数字格式不正确!" } // 如果有小数,截取整数位和小数位 number += '00'; var pointIndex = number.indexOf('.'); if (pointIndex > -1) { number = number.substring(0, pointIndex) + nu

数字金额转换中文大写

<script type="text/javascript" language="javascript">function Arabia_to_Chinese(Num){ for(i=Num.length-1;i>=0;i--) {  Num = Num.replace(",","")//替换tomoney()中的","  Num = Num.replace(" ",&

SSRS 实现数字金额转换为中文大写汉字

比如: 金额=49,701,120.00,将其转换为"肆仟玖佰柒拾万壹仟壹佰贰拾元整":金额 289,546.52 ,转换为 "贰拾捌万玖仟伍佰肆拾陆元伍角贰分". 解决方法:添加VB的转换函数写在CODE里,然后在表达式里调用自定义函数转换. 如:增加两个占位符表达式,如小数位为0时表达式2添加"整", 表达式1=Code.GetCnString(Fields!Amount.Value) 表达式2=IIF(Fields!Amount.Value

PHP实现数字金额转中文金额

 解决发票系统中,发票单上需要填写中文金额的问题:  function ToChineseNum($num) {         $zh_num = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];         $zh_unit = ['分', '角', '元', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿', '拾', '佰', '仟'];         if (!is_numeric(str_repl

javascript数字转汉字中文数字

/* 工具包 */ var Utils={ /* 单位 */ units:'个十百千万@#%亿^&~', /* 字符 */ chars:'零一二三四五六七八九', /* 数字转中文 @number {Integer} 形如123的数字 @return {String} 返回转换成的形如 一百二十三 的字符串 */ numberToChinese:function(number){ var a=(number+'').split(''),s=[],t=this; if(a.length>12)

java 数字金额转换中文金额

public static String digitUppercase(double n){ String fraction[] = {"角", "分"}; String digit[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", &q