水晶報表中小寫變大寫的函數-VB
Function total (ls as number) as string
dim dx_sz as string
dim dx_dw as string
dim str_int as string
dim str_dec as string
dim dx_str as string
dim fu as string
dim a as string
dim b as string
dim c as string
dim d as string
dim b2 as string
dim num_int as number
dim num_dec as number
dim len_int as number
dim i as number
dim a_int as number
dim pp as number
dx_sz="零壹贰叁肆伍陆柒捌玖"
dx_dw="万仟佰拾亿仟佰拾万仟佰拾圆"
if ls=0 then dx_str="零圆整"
if ls<0 then
ls=abs(ls)
fu="负"
else
fu=""
end if
dx_str=CStr (ls)
dx_str=Replace (dx_str,"¥","")
dx_str=replace(dx_str,",","")
if (ls>=0) and (ls<1) then dx_str="0"+dx_str
pp=InStr (dx_str,".")
if pp>0 then
str_int=mid(dx_str,1,instr(dx_str,".")-1)
else
str_int=dx_str
end if
num_int=ToNumber (str_int)
if (ls>0) and (ls<1) then
num_dec = ls*100
else
num_dec=(ls-num_int)*100
end if
str_dec=totext(num_dec)
str_dec=replace(str_dec,"¥","")
len_int=len(str_int)
dx_str=""
for i=1 to len_int
a=mid(str_int,i,1)
a_int=tonumber(a)
b=mid(dx_sz,(a_int+1),1)
c=mid(dx_dw,(13-len_int+i),1)
if dx_str<>"" then
d=mid(dx_str,len(dx_str)-1,1)
else
d=""
end if
if(b="零") and ((d="零") or (b=b2) or (c="圆") or (c="万") or (c="亿")) then b=""
if(a="0") and (c<>"圆") and (c<>"万") and (c<>"亿") then c=""
if((c="圆") or (c="万") or (c="亿")) and (d="零") and (a="0") then
dx_str=mid(dx_str,1,len(dx_str)-2)
d=mid(dx_str,len(dx_str)-1,2)
if((c="圆") and (d="万"))or((c="万") and (d="亿")) then c=""
end if
dx_str=dx_str+b+c
b2=b
next i
'处理金额小于1的情况
if len(dx_str)<=2 then dx_str=""
if(num_dec<10)and(ls>0) then
a_int=tonumber(str_dec)
b=mid(dx_sz,(a_int+1),1)
if num_dec=0 then dx_str=dx_str+"整"
if num_dec>0 then dx_str=dx_str+"零"+b+"分"
end if
if num_dec>=10 then
a_int=tonumber(mid(str_dec,1,1))
a=mid(dx_sz,(a_int+1),1)
a_int=tonumber(mid(str_dec,2,1))
b=mid(dx_sz,(a_int+1),1)
if a<>"零" then a=a+"角"
if b<>"零" then b=b+"分" else b=""
dx_str=dx_str+a+b
end if
dx_str=fu+dx_str
dx_str=replace(dx_str,"零亿","亿")
dx_str=replace(dx_str,"零万","万")
dx_str=replace(dx_str,"零千","千")
dx_str=replace(dx_str,"零圆","圆")
total =dx_str
End Function
水晶報表中小寫變大寫的函數-VB的更多相关文章
- vb.net 水晶報表CrystalReport 動態設定資料庫來源
沒有出現CrystalReportViewer時,須安裝CRforVS_13_0. 新增1個數據集,新增1個數據表,添加二列,列名要和資料庫名一樣. 修改目標Framework 修改app.confi ...
- Grafana展示報表數據的配置(二)
一.Grafana以圖表的形式展示KPI報表的結果數據1.按照日期顯示數據達標量與未達標量2.顯示當前報表的最大值.最小值.平均值.總量3.報表結果數據的鏈接分享與頁面嵌入,用戶無需登錄直接訪問報表統 ...
- [小技巧]設定Reporting Services 2008 發生報表管理員權限不足
转载 http://www.dotblogs.com.tw/dorlis.tsao/archive/2011/01/17/20860.aspx 在自己Windows 7 professional的電腦 ...
- 水晶易表 Xcelsius 2008 安装指南 完美支持office2010(亲手体验)
Xcelsius2008水晶易表是一款很好用的软件.网上已经有破解方法,大家能够尝试一下这款经典软件了. 可是网上对于安装破解过程介绍的不详细或者纷乱,今天我汇总了全部的方法最终成功的安装上了,而且支 ...
- 【转】Xcelsius2008 水晶易表问题 部分汇总
要使用 Xcelsius 2008,需要安装 Adobe Flash 吗? 若要正常运行 Xcelsius 2008,必须安装 Adobe Flash Player 版本 9.如果在安装过程中没有安装 ...
- SqlServer快速获得表总记录数(大数据量)
--第1种 执行全表扫描才能获得行数 SELECT count(*) FROM BUS_tb_UserGradePrice --第2种 执行扫描全表id不为空的,获得行数 select count(u ...
- Oracle臨時表空間過大問題解決
查詢資料庫伺服器時,發現資料庫伺服器磁片使用空間達到了98%,分析總共的資料檔案也不可能達到如此大,經過查詢發現原來臨時表空間的使用方式達到了 32G,導致磁碟空間使用緊張.搜索了相應的文檔與資料後, ...
- 单表千亿电信大数据场景,使用Spark+CarbonData替换Impala案例
[背景介绍] 国内某移动局点使用Impala组件处理电信业务详单,每天处理约100TB左右详单,详单表记录每天大于百亿级别,在使用impala过程中存在以下问题: 详单采用Parquet格式存储,数据 ...
- 用笛卡尔积来创建一千六百万大表 整体19分钟 大表建成两分钟 设置id13分钟
昨天拙文中讲述了用自增方式创建一千六百万大表的方案,这回讨论的是用笛卡儿积,实践证明这种方案更快. 2020年3月15日08点58分实验开始 创建仅有四千数据的tb_4thousand1表: SQL& ...
随机推荐
- 设置tomcat内存
设置Tomcat启动的初始内存其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4. 可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置 三.实例,以下给 ...
- [React Native] Up and Running
We'll download the requirements for getting started with React Native, refactor our app to ES6, walk ...
- swap函数的例子
13.31为你的HasPtr类定义一个<运算符,并定义一个HasPtr的vector为这个vector添加一些元素,并对它执行sort.注意何时会调用swap. #include<iost ...
- Debugging to Understand Finalizer--reference
This post is covering one of the Java built-in concepts called Finalizer. This concept is actually b ...
- Interesting visualization tools for profiling.
Interesting visualization tools for profiling. http://dtrace.org/blogs/brendan/2012/03/17/linux-kern ...
- C#扫盲之:前台线程后台线程
1.线程分类 线程由程序员创建,可是创建的方式不同,总体来说有两种,一种是个人构造,也就是使用thread类new线程对象创建,这一类线程是大部分程序员知道的,也叫专用线程;还有一种是由CLR创建,这 ...
- ArcGIS Runtime SDK for WPF已不更新,后续将被ArcGIS Runtime SDK for .NET取代
ArcGIS Runtime SDK 10.2.5 for WPF is now available! by mbranscomb and Rex Hansen on January 27, 2015 ...
- STORM 免费且开源的WebSerivce测试工具
一.名称 STORM 是一款免费且开源的WebSerivce测试工具 二.使用方式 1.发布自己的webservice服务 例如:http://www.webxml.com.cn/WebService ...
- javascript BOM对象 第15节
<html> <head> <title>浏览器对象</title> <script type="text/javascript&quo ...
- java之sleep、wait、yield、join、notify乱解
① 这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类. sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用b的sleep方法,实际上还是 ...