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) + number.substr(pointIndex + 1, 2);
    }

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

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

console.log(numberConvert(21324873.234));
//"贰千壹百叁十贰万肆千捌百柒十叁元贰角叁分"
时间: 2024-12-17 05:21:24

numberToCapital() JavaScript数字金额转换为大写金额的相关文章

人民币 小写金额转换为大写金额

### 人民币 小写金额转换为大写金额 标签(空格分隔): 人民币 小写金额转换为大写金额 --- jsp:```div class="form-group"><label class="col-sm-4 control-label">合计人民币金额(小写):</label><div class="col-sm-7"><input id="totalRmbLower" type=

PHP数字金额转换大写金额

早些年做CRM用到的一个金额转换函数,今天从旧项目中拿出来记录一下.金额转换的函数方法有很多,都很不错.不过这个是小崔刚工作的时候写的一个转换函数,多少还是有点纪念意义.如有问题请朋友们指出,小崔及时修正.谢谢啦! 废话不多说直接上代码: 1 <?php 2 3 /** 4 * 数字金额转换大写数字 5 * $num 数字类型 6 */ 7 8 function inttodaxie($num) { 9 //判断$num是否数字 10 if(!is_numeric($num)) return -

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

在网页中有时需要将用户输入的金额数字转换为人民币大写显示出来,下面的提供的方法可以完美地自动完成这个功能(最多转换13位整数) <!DOCTYPE html> <html> <head> <title>numberToChineseCapital</title> <meta charset="utf-8"> </head> <body> <input type="text&q

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

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

JS实现将数字金额转换为大写人民币汉字

function convertCurrency(money) { //汉字的数字 var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'); //基本单位 var cnIntRadice = new Array('', '拾', '佰', '仟'); //对应整数部分扩展单位 var cnIntUnits = new Array('', '万', '亿', '兆'); //对应小数部分单位 var cnDe

JS数字金额转为大写金额

/** 数字金额大写转换(可以处理整数,小数,负数) */function smalltoBIG(n){var fraction = ['角', '分'];var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];var unit = [ ['元', '万', '亿'], ['', '拾', '佰', '仟'] ];var head = n < 0? '欠': '';n = Math.abs(n); var s = ''; fo

人民币数字金额转大写金额

public class t { public static String Trans2RMB(String money) { int index = money.indexOf("."); if (index < 0) {// 没有角分 money = money + ".00"; index = money.indexOf("."); } if (money.substring(index, money.length()).length

Oracle 小写金额转换为大写

在开发EBS的合同报表打印的时候需要将小写金额转换为大写. 如下是本人自己写的转换函数. 主要思路:先获取小数点位置,在区分整数与小数点处理,根据位数和数字组合读取金额. 最后再处理特殊显示部分. /******************************************************************* *  FUNCTION get_big_amount 数字金额转换为大写 *  p_amount 输入数据金额 *  返回大写金额,位数 :千亿----厘 ****

用JavaScript将数字转换为大写金额

项目中用到的,用JavaScript将数字转换为大写金额,分享出来给大家 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 var digitUppercase = function(n) {     var fraction = ['角', '分'];     var digit = [         '零', '壹', '贰', '叁', '肆',