vue将数字转为中文大写金额方式

目录
  • 将数字转为中文大写金额
  • 数字(金额)大小写实时转换

将数字转为中文大写金额

记得引入vue.js文件

<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>用vue将数字转为中文大写金额</title>
	<script src='vue.js'></script>
</head>
<body>
	<div id="box">
		<h1 v-if='flag'>我已经限制长度了,放弃吧</h1>
		<h1 v-if='flag'><button @click='shutDown'>关闭</button></h1>
		<input type="text" v-model='inputVal'>
		<!--<button @click='to_ch'>转换</button>-->
		{{inputVal | toChies}}
		<!--过滤器-->
	</div>
</body>
	<script>
		var app = new Vue({
			el:"#box",
			data:{
				inputVal:'',
				flag:false,
				values:''
			},
			filters:{//局部过滤器

				toChies:function(values){//形参
					let len=values.length//统计出长度
					let arr=[];

					let chin_list=['零','壹','贰','叁','肆','伍','陆','柒','捌','玖']//所有的数值对应的汉字

					let chin_lisp=['仟','佰','拾','亿','仟','佰','拾','万','仟','佰','拾']//进制

					for(let i=0;i<len;i++){
						arr.push(parseInt(values[i]));		//输入的数据按下标存进去   存进去的只是数字
						arr[i]=chin_list[arr[i]]			//是根据我们输入的输入的数字,对应着我们的chin_list这个数组
					}//123['壹','佰','贰','拾','叁']

					for(let i=len-1,j=1;i>0;i--){//i =2	1		//倒序		为了添加进制,方便我们去观看
						arr.splice(i,0,chin_lisp[chin_lisp.length-j++])	//j=2
					}
					console.log(arr)

					arr=arr.join('')
					if(len>=1){
						arr+='元整'
					}
					return arr
				}

			},
			watch:{
				inputVal(newVal,oldVal){
					if(newVal.length==13){
						this.inputVal=oldVal
						this.flag=true
					}
				}
			},
			methods:{
				shutDown(){
					this.flag=false
				},
				to_ch(){
					console.log(this.inputVal)
					this.inputVal=this.values
				}
			}
		})
	</script>
</html>

数字(金额)大小写实时转换

<el-col :span="12">
   <el-form-item :label="$t('不含税金额')" prop="taxNotIncluded">
      <el-input v-model="form.taxNotIncluded" :placeholder="$t('不含税金额')" show-word-limit @input="computeLen1(form.taxNotIncluded)" />
   </el-form-item>
</el-col>

<el-col :span="12">
   <el-form-item :label="$t('不含税金额(大写)')" prop="taxNotIncludedCapital">
      <el-input v-model="form.taxNotIncludedCapital" :placeholder="$t('不含税金额(大写)')" show-word-limit maxlength="32" />
   </el-form-item>
</el-col>
computeLen1(number) {
            let ret = ''
              if (number !== '' && number != null && number !== '0') {
                let unit = '仟佰拾亿仟佰拾万仟佰拾元角分'
                let str = ''
                number += '00'
                const point = number.indexOf('.')
                if (point >= 0) {
                  number = number.substring(0, point) + number.substr(point + 1, 2)
                }
                unit = unit.substr(unit.length - number.length)
                for (let i = 0; i < number.length; i++) {
                  str +=
                    '零壹贰叁肆伍陆柒捌玖'.charAt(number.charAt(i)) + unit.charAt(i)
                }
                ret =
                  str
                    .replace(/零(仟|佰|拾|角)/g, '零')
                    .replace(/(零)+/g, '零')
                    .replace(/零(万|亿|元)/g, '$1')
                    .replace(/(亿)万|(拾)/g, '$1$2')
                    .replace(/^元零?|零分/g, '')
                    .replace(/元$/g, '元') + '整'
              }
              this.form.taxNotIncludedCapital = ret
          },

@input事件:实时操作事件

过程:通过@input事件传入参数(123)到computeLen1方法中,通过一系列操作,最终拿到ref(壹佰贰拾叁元整),赋值到this.form.taxNotIncludedCapital

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • vue js格式化数字为金额格式代码

    目录 格式化数字为金额格式 格式化金额组件 格式化数字为金额格式 /** * @description 格式化金额 * @param number:要格式化的数字 * @param decimals:保留几位小数 默认0位 * @param decPoint:小数点符号 默认. * @param thousandsSep:千分位符号 默认为, */ export const formatMoney = (number, decimals = 0, decPoint = '.', thousand

  • vue实现输入一位数字转汉字功能

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJR

  • vue将数字转为中文大写金额方式

    目录 将数字转为中文大写金额 数字(金额)大小写实时转换 将数字转为中文大写金额 记得引入vue.js文件 <html lang="en"> <head> <meta charset="UTF-8"> <title>用vue将数字转为中文大写金额</title> <script src='vue.js'></script> </head> <body> <

  • ASP将数字转中文数字(大写金额)的函数

    下面跟大家分享2种不同函数的实现方式. ASP将数字转中文数字金额的函数一 <% function Money(thenumber) 'dim Money,i,String1,String2,length,checkp'定义变量 dim one(),onestr()'定义数组 String1 = "零壹贰叁肆伍陆柒捌玖" String2 = "万仟佰拾亿仟佰拾万仟佰拾元角分厘毫" checkp=instr(thenumber,".")'判断

  • Vue数据双向绑定的实现方式讲解

    目录 前言 一.input和textarea 二.radio和CheckBox 三.select 四.双向绑定的修饰符 前言 在web开发应用中,很多项目都会用到表格一列的组件进行数据的传输.获取和提交,在开发使用中,表格类组件数据的传输,我们一般可以使用v-model将输入的数据同步到data属性中,这个指令可以为不同的输入元素使用不同的属性,这个指令一般在form表单中的input等等元素上面来创建双向的数据绑定. 一.input和textarea 在vue实战项目中,vue里面的data属

  • C#基于纯数学方法递归实现货币数字转换中文功能详解

    本文实例讲述了C#基于纯数学方法递归实现货币数字转换中文功能.分享给大家供大家参考,具体如下: 最近由于项目的原因,需要写一个货币数字转换中文的算法,先在网了找了一下,结果发现无一列外都是用(Replace)替换的方式来实现的,所以想写个另外的算法:因为本人是学数学出身的,所以用纯数学的方法实现. 注意:本文中的算法支持小于1023 (也就是9999亿兆)货币数字转化. 货币中文说明: 在说明代码之前,首先让我们回顾一下货币的读法. 10020002.23  读为 壹仟零贰万零贰元贰角叁分 10

  • C#实现金额转换成中文大写金额

    本文实例为大家分享了C#金额转换成中文大写金额的具体代码,供大家参考,具体内容如下 /// <summary> /// 金额转换成中文大写金额 /// </summary> /// <param name="LowerMoney">eg:10.74</param> /// <returns></returns> public static string MoneyToUpper(string LowerMoney)

  • 详解vue组件之间相互传值的方式

    概述 我们都知道 Vue 作为一个轻量级的前端框架,其核心就是组件化开发.Vue 就是由一个一个的组件构成的,组件化是它的精髓,也是最强大的功能之一.而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用. 但在实际项目开发过程中,我们需要访问其他组件的数据,这样就就有了组件通信的问题.在 vue 中组件之间的关系有:父子,兄弟,隔代.针对不同的关系,怎么实现数据传递,就是接下来要讲的. 一.父组件向子组件传值 即父组件通过属性的方式向子组件传值,子组件通过 props 来接收

  • JavaScript实现的可变动态数字键盘控件方式实例代码

    整理文档,搜刮出一个JavaScript实现的可变动态数字键盘控件方式实例代码,稍微整理精简一下做下分享. @sunRainAmazing JavaScript编写和实现的可变动态键盘密码输入控件,可以动态的生产数字键盘并显示,并且可以实现每次点击后密码键盘重新加载,可以手动刷新功能. 第一种方式,点击查看: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&qu

  • javascript中验证大写字母、数字和中文

    复制代码 代码如下: var reg = /^[u4E00-u9FA5]+$/; //验证中文 var cp=$("input[name='cpid']").val(); for(var i=0;i<cp.length;i++){ var cpp=cp.charAt(i); if(!reg.test(cpp)||cpp.match(/^([A-Z])+$/)||cpp.match(/^\d+$/)){ //验证大写字母,数字和中文 document.getElementById(

  • Java正则表达式过滤出字母、数字和中文

    1.Java中过滤出字母.数字和中文的正则表达式 (1)过滤出字母的正则表达式 [^(A-Za-z)] (2) 过滤出 数字 的正则表达式 [^(0-9)] (3) 过滤出 中文 的正则表达式 [^(\\u4e00-\\u9fa5)] (4) 过滤出字母.数字和中文的正则表达式 [^(a-zA-Z0-9\\u4e00-\\u9fa5)] 2.实例源码 ** * @Title:FilterStr.java * @Package:com.you.dao * @Description:Java中过滤数

  • PHP人民币金额数字转中文大写的函数代码

    在网上看到一个非常有趣的PHP人民币金额数字转中文大写的函数,其实质就是数字转换成中文大写,测试了一下,非常有趣,随便输个数字,就可以将其大写打印出来,新手朋友们试一下吧,举一反三,还可以写好多有趣的PHP转换函数. 复制代码 代码如下: <?  function cny($ns) {     static $cnums=array("零","壹","贰","叁","肆","伍",

随机推荐