PowerBuilder -- 数字金额大写
//====================================================================
// 事件: .pub_fc_change_number()
//--------------------------------------------------------------------
// 描述: 数字转换成大写
//--------------------------------------------------------------------
// 参数:
// decimal number
//--------------------------------------------------------------------
// 返回: string//--------------------------------------------------------------------
// 修改历史:
//
//====================================================================
String cn_num[] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"} //大写0-9
String cn_carry[] = {"分","角","","元","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟","万","拾","佰","仟"} //单位
String ls_pos,ls_old,ls_number,ls_rc = '', ls_zero, ls_zero_unit
Integer li_i,li_len //循环变量
String ls_zf = '' //正负符号
String ls_value, ls_z
Boolean lb_zero_yuan
//参数格式化
If ade_number < Then
ls_zf = '负'
ade_number = (-)*ade_number
End If
ls_number = String(ade_number,"0.00")
//参数的长度
li_len = Len(ls_number)
ls_zero = ''
ls_zero_unit = ''
lb_zero_yuan = False
ls_z = ''
//转换为大写(发票格式),从右到左
For li_i = To li_len
ls_value = Mid(ls_number, li_len - li_i + , )
If li_i = And ls_value = '' Then
// 分 为0
ls_z = '整'
Continue
End If
If li_i = And ls_value = '' And ls_z <> '整' Then
// 角 为0, 分不为 0
ls_rc = '零' + ls_rc
Continue
End If // 小数点
If li_i = Then Continue // 万与元,亿与万之间 存在 0
If (li_i = Or li_i = ) And ls_zero = '零' Then
ls_rc = '零' + ls_rc
ls_zero = ''
End If // 元 万 亿 为0
If li_len > And (li_i = Or li_i = Or li_i = ) And ls_value = '' Then
ls_rc = cn_carry[li_i] + ls_rc
lb_zero_yuan = True
Continue
End If
// 万与元,亿与万之间 存在 0
If li_len > And li_i > And ls_value = '' And ls_zero = '' And Not lb_zero_yuan Then
ls_zero = '零'
End If If ls_value <> '' Or li_i = Then
ls_rc = cn_num[ + Mod(Integer(ls_value), )] + cn_carry[li_i] + ls_zero + ls_rc
ls_zero = ''
lb_zero_yuan = False
End If Next ls_rc = ls_zf + ls_rc + ls_z Return ls_rc //返回结果 100100.11 100100100.11 10010100100.11
PowerBuilder -- 数字金额大写的更多相关文章
- JS数字金额大写转换
/** 数字金额大写转换(可以处理整数,小数,负数) */ var digitUppercase = function(n) { var fraction = ['角', '分']; var digi ...
- Java版 数字金额大写转换
需求:读入一个浮点数值,将其转化为中文金额的大写形式.如123.45,转化为:壹佰贰拾叁元肆角伍分. 以下是各种情况要完善: 1. 当金额为整数,只表示整数部分,省略小数部分,并添加“整”字.如123 ...
- js限制input只能输入有效的数字,有且只有一个小数点,第一个不能为小数点-备
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JS数字金额转换为货币汉字形式
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- BPM实例分享——金额规则大写
金额规则大写 在涉及金额的流程中经常会遇到需要大写金额数据与小写金额匹配,如何实现输入数字后自动转换呢? 初级用法: 1.在默认表单基本属性javascript 中增加如下金额转换方法 /** 数字金 ...
- NumberUtils
package cn.edu.hbcf.common.utils; import java.math.BigDecimal; import java.text.NumberFormat; import ...
- JS将人民币小写金额转换为大写
/** 数字金额大写转换(可以处理整数,小数,负数) */ function smalltoBIG(n) { var fraction = ['角', '分']; var digit = ['零', ...
- JS进行人民币大小写转换
//数字金额大写转换(可以处理整数,小数,负数) function upDigit() { digit=$("#digit").html(); n=digit.replace(/\ ...
- H3BPM实例分享——金额规则大写
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
随机推荐
- 802.11 MAC层
1. 介绍 本文主要介绍了802.11 MAC层 2. 访问机制 CSMA/CA: Carrier Sense Multiple Access with Collision Avoidance Wi ...
- android的布局-----RelativeLayout(相对布局)
学习导图 注:父容器定位的属性值只能是Boolean ,兄弟组件定位的属性值只能是ID 典型案例(梅花) <?xml version="1.0" encoding=" ...
- 转载——C# 6.0可能的新特性及C#发展历程
据扯,C# 6.0在不远的将来就发布了,对应的IDE可能是VS 2014(.Net Framework 5.0),因为VS 2013已于2013年10月份发布了,对应的是.Net Franework ...
- 调用Thread.interrupt()方法到底会发生什么?
1. 当线程处于Blocked状态(sleep,wait,join),线程会退出阻塞状态,并抛出一个InterruptedException.park除外,它有响应但是不会抛出异常 2. 当线程处于R ...
- Codeforces Gym100814 F.Geometry (ACM International Collegiate Programming Contest, Egyptian Collegiate Programming Contest (2015) Arab Academy for Science and Technology)
这个题真的是超级超级水啊,哈哈哈哈哈哈.不要被题面吓到,emnnn,就这样... 代码: 1 #include<iostream> 2 #include<cstring> 3 ...
- (转)Kettle命令行
kettle使用命令行来运行ktr和kjb 1:cmd方式运行 1.ktr的运行:运行transformation文件是通过Pan.bat来运行的. 打开cmd命令行窗口,转到Pan.bat所在的目录 ...
- Codeforces 919 D Substring
题目描述 You are given a graph with nn nodes and mm directed edges. One lowercase letter is assigned to ...
- Java命令行的基本编译运行
1.编译 编写MyProgram.java文件,内容如下: public class MyProgram { public static void main(String[] args) { Syst ...
- mysql数据对象
学习目标: 了解掌握常见的几种数据库对象 学会如何创建具体的数据对象 mysql 常见的数据对象有哪些: DataBase/Schema Table Index View/Trigger/ ...
- 用NSLogger代替NSLog输出调试信息
安装 NSLogger分为两部分,LoggerClient和NSLogger Viewer,你的App需要导入前者,后者是一个独立的mac应用,NSLogger所有的调试信息将输出到这个应用中. 安装 ...