//====================================================================
// 事件: .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. java编码,乱码问题详解

    一.常见的编码格式 1.ASCII 基础编码,英文和西欧字符. 用一个字节的低7位表示,一共128个. 0~13是控制字符如换行.回车.删除等,32~126是打印字符,键盘输入. 2.IOS-8859 ...

  2. react-transition-group v2 用法概述

    官方文档地址:https://reactcommunity.org/react-transition-group/ 在react-transition-group v2中,暴露了三个组件: Trans ...

  3. TCP/IP握手协议

    转自:http://www.js123.net/t/n/n/2013/4/28/n_272.shtml 这篇介绍的也很棒:http://www.cnblogs.com/rootq/articles/1 ...

  4. window环境下使用PHP OpenSSL扩展函数返回false的原因

    window环境下使用PHP OpenSSL扩展函数返回false的原因(openssl_pkey_new) 使用的开发环境是PHPstudy ,在使用OpenSSL的函数openssl_pkey_n ...

  5. 【java】Java中十六进制转换 Integer.toHexString()到底做了什么?什么时候会用到它?为什么要用它?byte为什么要&0xff?为什么要和0xff做与运算?

    参考地址:http://www.cnblogs.com/think-in-java/p/5527389.html 参考地址:https://blog.csdn.net/scyatcs/article/ ...

  6. GridView.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE_MODAL)不兼容低版本号系统解决方式

    项目开发中须要使用GridView批处理操作,多项选择. 可是GridView.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE_MODAL)不兼容低版本号. 找 ...

  7. 2017.2.7 开涛shiro教程-第六章-Realm及相关对象(四)

    原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第六章 Realm及相关对象(四) 1.Subject的代码结构 ...

  8. 2016.6.20 eclipse中的jsp文件的字体大小在哪里修改

    刚打开eclipse的时候,觉得jsp文件的字体太小了.于是去修改字体,但是colors and fonts里的字体选项太多了,不知道哪一个是. 试了几个后发现,是structured text ed ...

  9. FreeMark的list应用

    语法:<#if></#if>后台传送List,前台html页面中获取该list并显示: <#if userList?exists> <#list userLi ...

  10. Python Random随机数

    Python产生随机数的功能在random模块中实现.实现了各种分布的伪随机数生成器 该模块能够生成0到1的浮点随机数,也能够在一个序列中进行随机选择.产生的随机数能够是均匀分布.高斯分布,对数正态分 ...