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 ...
随机推荐
- 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest A E F G H I K M
// 深夜补水题,清早(雾)写水文 A. Automatic Door 题意 \(n(n\leq 1e9)\)个\(employee\)和\(m(m\leq 1e5)\)个\(client\)要进门, ...
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---43
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- Python Challenge 第九关
第九关只有一幅图,上面有一些黑点.网页名字叫:connect the dots.可能是要把这些点连起来. 查看源代码,果然有两个整数集合 first 和 second.并且有个提示:first+sec ...
- Android与H5互调
前言 微信,微博,微商,QQ空间,大量的软件使用内嵌了H5,这个时候就需要了解Android如何更H5交互的了:有些外包公司,为了节约成本,采用Android内嵌H5模式开发,便于在IOS上直接复用页 ...
- PC网页js调用本地应用程序
最近要现实一个在PC网页中实现点击按钮调用本地应用程序的功能 其实实现原理也非常简单, 首先注册一个本地注册表文件,指向本地应用程序路径 其次在网页中用js指向这个注册表文件,就可以实现网页调用本地应 ...
- Git Base 操作(一)
Git常用命令 1. 命令git init把这个目录变成Git可以管理的仓库: 2. 命令git commit把文件提交到仓库 这里需要注意的是,Git只能跟踪文本文件的改动,如txt文件,网页,所有 ...
- 洛谷 P1014 Cantor表【蛇皮矩阵/找规律/模拟】
题目描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … ...
- OceanBase 2.1 的ORACLE兼容性能力探秘
概述 OceanBase是一款通用的分布式关系型数据库,目前内部业务使用比较多有两个版本:1.4和2.1.OceanBase每个版本变化总能带给人很多惊喜,其中2.1版本实现了ORACLE很多特性的兼 ...
- ios学习的博客地址
1.文顶顶博客 http://www.cnblogs.com/wendingding/ 2.唐巧的博客: http://blog.devtang.com/ 唐巧总结的40个国人iOS技术博客 博客 ...
- wireshark学习笔记
之前写过一篇博客:用 Fiddler 来调试HTTP,HTTPS. 这篇文章介绍另一个好用的抓包工具wireshark, 用来获取网络数据封包,包括http,TCP,UDP,等网络协议包. 记得大学的 ...