//====================================================================
// 事件: .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 -- 数字金额大写的更多相关文章

  1. JS数字金额大写转换

    /** 数字金额大写转换(可以处理整数,小数,负数) */ var digitUppercase = function(n) { var fraction = ['角', '分']; var digi ...

  2. Java版 数字金额大写转换

    需求:读入一个浮点数值,将其转化为中文金额的大写形式.如123.45,转化为:壹佰贰拾叁元肆角伍分. 以下是各种情况要完善: 1. 当金额为整数,只表示整数部分,省略小数部分,并添加“整”字.如123 ...

  3. js限制input只能输入有效的数字,有且只有一个小数点,第一个不能为小数点-备

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. JS数字金额转换为货币汉字形式

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  5. BPM实例分享——金额规则大写

    金额规则大写 在涉及金额的流程中经常会遇到需要大写金额数据与小写金额匹配,如何实现输入数字后自动转换呢? 初级用法: 1.在默认表单基本属性javascript 中增加如下金额转换方法 /** 数字金 ...

  6. NumberUtils

    package cn.edu.hbcf.common.utils; import java.math.BigDecimal; import java.text.NumberFormat; import ...

  7. JS将人民币小写金额转换为大写

    /** 数字金额大写转换(可以处理整数,小数,负数) */ function smalltoBIG(n) { var fraction = ['角', '分']; var digit = ['零', ...

  8. JS进行人民币大小写转换

    //数字金额大写转换(可以处理整数,小数,负数) function upDigit() { digit=$("#digit").html(); n=digit.replace(/\ ...

  9. H3BPM实例分享——金额规则大写

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

随机推荐

  1. jmeter登录测试

    测试步骤: 1.测试计划--右键添加--Threads--线程组 2. 线程组--右键--http信息头管理器 输入Content-Type=application/json,表示接口请求的默认设置: ...

  2. 谈谈JS中的原型

    不知道大家对JS中的原型理解的怎么样,我想如果大家对JS中的原型对象以及prototype属性十分熟悉的话对后面原型链以及继承的理解会十分的容易,这里想和大家分享自己对其的理解,请先看下面这段代码O( ...

  3. js 验证数字的正则表达式集

    <script type="text/javascript">     function validate(){       var reg = new RegExp( ...

  4. 【C/C++】快速排序的两种实现思路

    方法一:不断填坑,一次确定一个值.http://blog.csdn.net/morewindows/article/details/6684558 #include<stdio.h> vo ...

  5. hdu 2807(矩阵+floyed)

    The Shortest Path Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  6. hdu 1395(欧拉函数)

    2^x mod n = 1 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  7. 使用Nginx+FFMPEG搭建HLS直播转码服务器

    目的:使Nginx支持Rtmp协议推流,并支持hls分发功能及FFMPEG转码多码率功能. 一.准备工作 模块:nginx-rtmp-module-master(支持rtmp协议) 下载地址: htt ...

  8. Java NIO中的FileLock(文件锁)

    FileLock,文件锁. 文件锁在OS中很常见,如果多个程序同时访问.修改同一个文件,很容易因为文件数据不同步而出现问题.给文件加一个锁,同一时间,只能有一个程序修改此文件,或者程序都只能读此文件, ...

  9. (入门SpringBoot)SpringBoot发送邮件(十一)

    SpringBoot配置邮件服务: 1.引入jar <!-- 邮件 --> <dependency>    <groupId>org.springframework ...

  10. C# DBHelper类

    class DBHelper { //public static string connstr = "server=.;database=SuperKTV;uid=sa;pwd=123456 ...