EOS Low-Code Platform 8 EOS Low-Code Platform 8
产品简介
安装部署
应用开发
专题场景实战案例
低代码(Low-Code)开发参考手册
高开开发参考手册
流程开发参考手册
AFCenter 使用指南
Governor 使用指南
FAQ
  • 金额转化为大写数字
  • 1.场景介绍
  • 2.效果展示
  • 3.实现思路
  • 4.操作步骤
  • 4.1 添加变量
  • 4.2 设置默认值
  • 4.3 添加事件

# 金额转化为大写数字

# 1.场景介绍

在涉及金额结算的场景,为避免金额被篡改,会采用大写数字的方式进行记录。但是系统录入的时候,直接输入大写数字又不是很方便。本文将介绍如何将输入的金额转化为大写数字。

# 2.效果展示

# 3.实现思路

1.添加变量,将大写金额的默认值设置为此变量。

2.为价格输入框添加事件-属性值变化时。在属性值变化时,通过循环遍历的方式,将对应的金额数字转化为大写,并根据大写数字的格式添加单位。

# 4.操作步骤

本文以将单价的金额转化为大写数字为例,已建立好单价和金额两个输入框。

# 4.1 添加变量

进入表单-系统设置,在高级设置中添加变量v_upperPrice。

# 4.2 设置默认值

点击表单中的大写金额组件,将大写金额的默认值设置为v_upperPirce。

# 4.3 添加事件

点击表单中的单价组件,在高级中添加事件-属性值变化时,动作选择为代码块。

代码如下

//将输入金额转换为字符串
var s = value + '00'
//定义输出与格式转换
var strOutput = "",
    strUnit = "仟佰拾亿仟佰拾万仟佰拾元角分";
//判断是否有小数,如果有,进行小数转换
var intPos = s.indexOf('.')
if(intPos >= 0){
    s = s.substr(0,intPos) + s.substr(intPos + 1, 2)
}
strUnit = strUnit.substr(strUnit.length - s.length);
//循环将数字转化为大写数字
for (var i = 0; i < s.length; i++) {
    strOutput += '零壹贰叁肆伍陆柒捌玖'.substr(s.substr(i, 1), 1) + strUnit.substr(i, 1);
}
//对大写数字格式规范化并赋值
this.v_upperPrice = strOutput.replace(/零角零分$/, '整').replace(/零[仟佰拾]/g, '零').replace(/零{2,}/g, '零').replace(/零([亿|万])/g, '$1').replace(/零+元/, '元').replace(/亿零{0,3}万/, '亿').replace(/^元/, "零元")
上次更新: 2024/3/7下午7:13:41

← 限制表单提交时间 表单加载后数据回显 →