在WORD中怎样用VBA将人民币大写金额转换成小写金额

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在WORD中怎样用VBA将人民币大写金额转换成小写金额相关的知识,希望对你有一定的参考价值。

参考技术A 先把阿拉伯数字拖蓝,然后在“插入”--“数字”--下拉“壹、贰、叁、、”就可以了! 参考技术B word中转大写是整数的。
先选中阿拉伯数字,如果是2003版,插入-数字,2007版是插入-编号
然后选择大写的壹,贰,叁

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

人民币大写在线转换工具

以下为es6写法,可以直接在控制栏粘贴运行

/**
 * 将人民币小写金额转换为大写
 * 
 * @class RMB
 * 示例
    let rmb = new RMB()
    console.log(rmb.transform(2114523.234))// 贰佰壹拾壹万肆仟伍佰贰拾叁元贰角叁分
 */
class RMB 
    constructor() 
        this.numMap = new Map([[0, '零'], [1, '壹'], [2, '贰'], [3, '叁'], [4, '肆'], [5, '伍'], [6, '陆'], [7, '柒'], [8, '捌'], [9, '玖']])
        this.integerMap = new Map([[0, '元'], [1, '拾'], [2, '佰'], [3, '仟'], [4, '万'], [5, '拾'], [6, '佰'], [7, '仟'], [8, '亿']])
        this.decimalMap = new Map([[0, '分'], [1, '角']])
        this.resultSet = new Set()
    

    /**
     * 转换
     * 
     * @param number num 待转换的整数
     * @returns 
     * @memberof RMB
     */
    transform(num) 
        this.resultSet.clear()
        num = ('' + num).split('.')
        let integer = num[0],
            decimal = num[1] ? num[1].substr(0, 2) : []
        this.add(integer, this.integerMap).add(decimal, this.decimalMap)
        return [...this.resultSet].join('')
    

    /**
     * 转换
     * 
     * @param array numType 
     * @param map mapType 
     * @returns 
     * @memberof RMB
     */
    add(numType, mapType) 
        let len = numType.length
        for (let i = 0; i < len; i++) 
            this.resultSet.add(this.numMap.get(+numType[i]) + (+numType[i] ? mapType.get(len - i - 1) : ''))
        
        return this
    

let rmb = new RMB()
console.log(rmb.transform(2114523.234))// 贰佰壹拾壹万肆仟伍佰贰拾叁元贰角叁分

以上是关于在WORD中怎样用VBA将人民币大写金额转换成小写金额的主要内容,如果未能解决你的问题,请参考以下文章

小写金额怎样生成大写

请问在Excel里怎么用VBA把中文大写的数字转换成阿拉伯数字?

VBA 如何将数字转换为中文大写

小写数字自动转换成大写人民币金额两张表怎么在桌面找不同吗?

在Excel中如何让人民币小写变大写

在excel中,如何使用函数将数字人民币转换成大写?