阿拉伯数字转中文大写(整数)

<template>
  <div>
      <!--使用elementUI输入框插件-->
      <!--阿拉伯值输入框-->
      <el-input-number v-model="a" controls-position="right" :min="0"></el-input-number>

      <!--输入框中转中文-->
      <el-input v-model.trim="NumberToChinese"></el-input>
  </div>
</template>
<script>
    export default {
        name: "num",
        data(){
            return{
                a:0,// 阿拉伯整数
                b:"",// 大写
            }
        },
        computed:{
           // 价格转大写
            NumberToChinese(){
                let m = this.a;
                const unit = ["仟", "佰", "拾", "", "仟", "佰", "拾", "", "角", "分"]
                m *= 100;
                m += "";
                var length = m.length;

                var result = "";
                for (var i = 0; i < length; i++) {
                    if (i == 2) {
                        result = "元" + result;
                    } else if (i == 6) {
                        result = "万" + result;
                    }
                    if (m.charAt(length - i - 1) == 0) {
                        if (i != 0 && i != 1) {
                            if (result.charAt(0) != ‘零‘ && result.charAt(0) != ‘元‘ && result.charAt(0) != ‘万‘) {
                                result = "零" + result;
                            }
                        }
                        continue;
                    }
                    let A = null;
                    const A_ = m.charAt(length - i - 1);
                    if(A_==="0"){
                        A = "零";
                    }else if(A_==="1"){
                        A = "壹";
                    }else if(A_==="2"){
                        A = "贰";
                    }else if(A_==="3"){
                        A = "叁";
                    }else if(A_==="4"){
                        A = "肆";
                    }else if(A_==="5"){
                        A = "伍";
                    }else if(A_==="6"){
                        A = "陆";
                    }else if(A_==="7"){
                        A = "柒";
                    }else if(A_==="8"){
                        A = "捌";
                    }else if(A_==="9"){
                        A = "玖";
                    }
                    result = A + unit[unit.length - i - 1] + result;
                }
                result += result.charAt(result.length - 1) == ‘元‘ ? "整" : "";
                this.b = result;
                return result;
            },
        }
    }
</script>

原文地址:https://www.cnblogs.com/zhaoxiaoying/p/9829195.html

时间: 2024-10-29 19:06:35

阿拉伯数字转中文大写(整数)的相关文章

金额阿拉伯数字转换为中文大写

最近的做项目中需要弄一个金额是阿拉伯数字转为中文大写的金额,自己偷懒了,就总结一下. 第一种方法相对复杂 private static readonly String cnNumber = "零壹贰叁肆伍陆柒捌玖"; private static readonly String cnUnit = "分角元拾佰仟万拾佰仟亿拾佰仟兆拾佰仟"; 1 public static String GetCnString(String MoneyString) //传入数字 2

银行货币单位阿拉伯数字转化中文大写 eclipse 下C 与java实现 MOOC

先来个简单的:MOOC上面看到的 输入一个整数,输出每个数字对应的拼音.当整数为负数时,先输出"fu"字.十个数字对应的拼音如下:  0: ling  1: yi  2: er  3: san  4: si  5: wu  6: liu  7: qi  8: ba  9: jiu 输入格式: 输入在一行中给出一个整数,如: 1234 . 提示:整数包括负数.零和正数. 输出格式: 在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格.如 yi er san

js阿拉伯数字转中文大写 方法重多

方法一  function DX(n) { if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) return "数据非法"; var unit = "千百拾亿千百拾万千百拾元角分", str = ""; n += "00"; var p = n.indexOf('.'); if (p >= 0) n = n.substring(0, p) + n.substr(p+1, 2); unit = u

js阿拉伯数字转中文大写

function DX(n) { if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n)) return "数据非法"; var unit = "千百拾亿千百拾万千百拾元角分", str = ""; n += "00"; var p = n.indexOf('.'); if (p >= 0) n = n.substring(0, p) + n.substr(p+1, 2); unit = unit.s

Lua-阿拉伯数字转中文大写数字

function numberToString(szNum) ---阿拉伯数字转中文大写 local szChMoney = "" local iLen = 0 local iNum = 0 local iAddZero = 0 local hzUnit = {"", "十", "百", "千", "万", "十", "百", "千&qu

阿拉伯数字转换成中文大写

package Demo;public class Money{ public static void main(String args[]) { Money mon = new Money(); System.out.println(mon.change("124")); } //把"1"转化成1时用下标找TOBIG[1]就是对应的 private static final String[] TOBIG = new String[] { "零"

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

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

金额小写转中文大写类

using System; using System.Collections.Generic; using System.Text; namespace Class_ZhH { /// <summary> /// 金额小写转中文大写类(附带一个数字转大写). /// 整数支持到万亿:小数部分支持到分(超过两位将进行Banker舍入法处理) /// </summary> public class NumGetString { private static String[] Ls_Sh

阿拉伯数字 转 汉字大写

参考 算法的乐趣 阿拉伯数字 转 汉字大写   如 123 > 壹佰贰拾叁 思路: 如:a = 123,1234,1200 按权位分为 {"","拾","佰","仟"}, 按节权位分{"","万","亿","万亿"} 1.将 a 按4位分隔,循环每个分隔,通过位移确定权位,进行转换中文. 然后确定每个分隔后的节权位. 注意对0的转换: 1.1