小写金额转换成大写

sqlserver实现数字转人民币大写 sqlserver自定义函数----报表的数字转人民币大写,可以保存到自己数据库日后使用! 阅读详情

原作在SQL 2000中有一些问题。修正错误并在SQL 2000中运行通过。

/********************************************************
作者:(wleii165@yahoo.com)
版本:1.0
创建时间:20020227
修改时间:
功能:小写金额转换成大写
参数:n_LowerMoney 小写金额
          v_TransType 种类 -- 1: directly translate, 0: read it in words
输出:大写金额
********************************************************/
CREATE PROCEDURE dbo.L2U
(
@n_LowerMoney numeric(15,2),
@v_TransType int,
@RET VARCHAR(200) output
)
 AS
 
Declare @v_LowerStr VARCHAR(200) -- 小写金额
Declare @v_UpperPart VARCHAR(200)
Declare @v_UpperStr VARCHAR(200) -- 大写金额
Declare @i_I int

set nocount on

select @v_LowerStr = LTRIM(RTRIM(STR(@n_LowerMoney,20,2))) --四舍五入为指定的精度并删除数据左右空格

select @i_I = 1
select @v_UpperStr = ''

while ( @i_I <= len(@v_LowerStr))
begin
      select @v_UpperPart = case substring(@v_LowerStr,len(@v_LowerStr) - @i_I + 1,1)
                            WHEN  '.' THEN  '元'
                            WHEN  '0' THEN  '零'
                            WHEN  '1' THEN  '壹'
                            WHEN  '2' THEN  '贰'
                            WHEN  '3' THEN  '叁'
                            WHEN  '4' THEN  '肆'
                            WHEN  '5' THEN  '伍'
                            WHEN  '6' THEN  '陆'
                            WHEN  '7' THEN  '柒'
                            WHEN  '8' THEN  '捌'
                            WHEN  '9' THEN  '玖'
                            END
                          +
                            case @i_I
                            WHEN  1  THEN  '分'
                            WHEN  2  THEN  '角'
                            WHEN  3  THEN  ''
                            WHEN  4  THEN  ''
                            WHEN  5  THEN  '拾'
                            WHEN  6  THEN  '佰'
                            WHEN  7  THEN  '仟'
                            WHEN  8  THEN  '万'
                            WHEN  9  THEN  '拾'
                            WHEN  10  THEN  '佰'
                            WHEN  11  THEN  '仟'
                            WHEN  12  THEN  '亿'
                            WHEN  13  THEN  '拾'
                            WHEN  14  THEN  '佰'
                            WHEN  15  THEN  '仟'
                            WHEN  16  THEN  '万'
                            ELSE ''
                            END
select @v_UpperStr = @v_UpperPart + @v_UpperStr
select @i_I = @i_I + 1
end

--------print  '//v_UpperStr ='+@v_UpperStr +'//'

if ( @v_TransType=0 )
begin
select @v_UpperStr = REPLACE(@v_UpperStr,'零拾','零')
select @v_UpperStr = REPLACE(@v_UpperStr,'零佰','零')
select @v_UpperStr = REPLACE(@v_UpperStr,'零仟','零')
select @v_UpperStr = REPLACE(@v_UpperStr,'零零零','零')
select @v_UpperStr = REPLACE(@v_UpperStr,'零零','零')
select @v_UpperStr = REPLACE(@v_UpperStr,'零角零分','整')
select @v_UpperStr = REPLACE(@v_UpperStr,'零分','整')
select @v_UpperStr = REPLACE(@v_UpperStr,'零角','零')
select @v_UpperStr = REPLACE(@v_UpperStr,'零亿零万零元','亿元')
select @v_UpperStr = REPLACE(@v_UpperStr,'亿零万零元','亿元')
select @v_UpperStr = REPLACE(@v_UpperStr,'零亿零万','亿')
select @v_UpperStr = REPLACE(@v_UpperStr,'零万零元','万元')
select @v_UpperStr = REPLACE(@v_UpperStr,'万零元','万元')
select @v_UpperStr = REPLACE(@v_UpperStr,'零亿','亿')
select @v_UpperStr = REPLACE(@v_UpperStr,'零万','万')
select @v_UpperStr = REPLACE(@v_UpperStr,'零元','元')
select @v_UpperStr = REPLACE(@v_UpperStr,'零零','零')
end

-- 对壹元以下的金额的处理
if ( substring(@v_UpperStr,1,1)='元' )
begin
     select @v_UpperStr = substring(@v_UpperStr,2,(len(@v_UpperStr) - 1))
end

if (substring(@v_UpperStr,1,1)= '零')
begin
     select @v_UpperStr = substring(@v_UpperStr,2,(len(@v_UpperStr) - 1))
end

if (substring(@v_UpperStr,1,1)='角')
begin
     select @v_UpperStr = substring(@v_UpperStr,2,(len(@v_UpperStr) - 1))
end

if ( substring(@v_UpperStr,1,1)='分')
begin
     select @v_UpperStr = substring(@v_UpperStr,2,(len(@v_UpperStr) - 1))
end

if (substring(@v_UpperStr,1,1)='整')
begin
     select @v_UpperStr = '零元整'
end

select @ret=@v_UpperStr

GO

调用过程:

declare @ret varchar(200)

exec L2U 567983.897,1,@ret output

select @ret

 

SQL 金额数值转换成中文大写 需求:将金额转换成中文大写格式填入单据合计行: _佰_拾_万_仟_佰_拾_元_角_分。测试:将amount列的值转换为中文大写。2.在查询条件中直接转换。 阅读详情

相关推荐

sql笔记:SQL SERVER金额转成大写金额(标量值函数创建、标量值函数调用)

笔记:SQL SERVER金额转成大写金额(标量值函数创建、标量值函数调用)

悠闲饭团的博客 1027

小写转大写金额[SQL SERVER]

 原作在SQL 2000中有一些问题。修正错误并在SQL 2000中运行通过。/********************************************************作者:(wleii165@yahoo.com)版本:1.0创建时间:20020227修改时间:功能:小写金额转换成大写参数:n_LowerMoney 小写金额          v_TransType 种

maomao007的专栏 963

sqlserver金额转大写汉字的函数

该函数用于将金额转成汉字大写,例如57.91500转换成伍拾柒元玖角贰分整

阿拉伯数值转换成中文数值

拓展方法之数值转换成中文数值对数值进行转化将数值进行拆分将数值转换成汉字Demo 对数值进行转化 public static string ToChinese(this byte index) { return GetChinese(index.ToString()); } public static string ToChinese(this ushort index) { return GetChinese(index.ToString()); } public static string ToC

Dragon Peng 的博客 566

Hi3559AV100制作ext4文件系统和烧录emmc

1、首先生成所需文件系统,见本博客&lt;Hi3559AV100文件系统制作cramfs&gt;。 2、使用工具生成EXT4文件系统 ./make_ext4fs -s -l 96M rootfs_hi3559av100.ext4 ./rootfs 3、烧录文件系统 mw.b 0x82000000 ff 0x12C00000;tftp 0x82000000 STM_...

阿Sir问道 7033

android HTTPS未校验服务器证书漏洞修复

上述代码是重写了域名校验的逻辑,每个证书里携带的域名是不可更改的,如果证书是合法的证书签发机构签发的,并且域名是和你要请求的域名对的上的,基本上就能确认你访问就服务器地址就是要访问的服务器地址,这样才是安全的。上述代码就是重新了证书校验的逻辑,信任所有的证书,正确的逻辑是要校验证书是否是可信任的证书签发机构所认证的,如果不校验的话你虽然是用了https加密传输,只要你的客户端用户信任了其他的证书哪怕是非法的证书,一样能够请求通过,而这个证书的服务器就可以解密你的报文,拿到你的隐私信息了。

kyzycyey的专栏 2623

大写金额转换成小写

Q:如何将大写金额转换成小写? A:简单点,格式比较严格private float getMoney(string strBig)        ...{            string strExp="";            string[] arrBig  = 

jinjazz 5183

Versal ACAP NoC实战:像理解计算机网络一样配置AXI NoC,打通PS与PL数据通路

本文深入探讨了Versal ACAP NoC的配置与优化,通过计算机网络类比解析NoC架构,详细介绍了在VD100开发板上配置AXI NoC实现PS与PL数据交互的实战步骤。文章涵盖NoC组件功能、Vivado配置技巧、性能优化方法及常见问题解决方案,帮助开发者高效打通Versal芯片的数据通路。

weixin_42665255的博客 291

怎样让小写自动转换成大写_利用SUM函数和NUMBERSTRING函数自动把小写金额转换成大写金额...

EXCEL函数公式大全之利用SUM函数和NUMBERSTRING函数把小写金额转换成大写中文金额。EXCEL函数与公式在工作中使用非常的频繁,会不会使用公式直接决定了我们的工作效率,今天我们来学习一下提高我们工作效率的函数SUM函数和NUMBERSTRING函数。在日常的工作中,我们经常要进行费用报销,费用报销经常要小写金额和大写金额一块存在。今天我们这个例子就是利用NUMBERSTRING函数自...

weixin_39860946的博客 1441

深入解析MTK DRM初始化流程:从KMS模块到组件框架

本文深入解析了联发科(MTK)平台上DRM显示框架的初始化流程。从内核模块加载、Component框架管理依赖,到核心的mtk_drm_bind函数构建KMS对象(CRTC、Plane、Encoder、Connector),最终完成DRM设备注册并创建用户空间接口。文章结合调试经验,为开发者梳理了从驱动启动到屏幕点亮的完整路径与关键排查点。

onion的博客 765

STM32驱动WS2812B实现音乐频谱可视化系统

本文详细介绍了基于STM32驱动WS2812B灯带实现音乐频谱可视化系统的设计与实现。通过FFT算法实时分析音频信号,将频谱映射到炫彩灯光控制系统,结合PWM和DMA技术实现低延迟响应。系统支持多模式切换和动态亮度调节,适用于创意灯光秀和智能家居场景。

weixin_29171129的博客 302

小写数字转大写_利用SUM函数和NUMBERSTRING函数自动把小写金额转换成大写金额

EXCEL函数公式大全之利用SUM函数和NUMBERSTRING函数把小写金额转换成大写中文金额。EXCEL函数与公式在工作中使用非常的频繁,会不会使用公式直接决定了我们的工作效率,今天我们来学习一下提高我们工作效率的函数SUM函数和NUMBERSTRING函数。在日常的工作中,我们经常要进行费用报销,费用报销经常要小写金额和大写金额一块存在。今天我们这个例子就是利用NUMBERSTRING函数自...

weixin_42117224的博客 5265

2 硬件工程师笔面试高频知识考点真题解析——电容

本文全面解析了电容在电子电路中的关键应用与技术要点。主要内容包括:1. 电容选型核心要素:介质材质(陶瓷/电解/钽电容等)、容值精度、耐压等级、温度特性、ESR参数等,不同应用场景(滤波/去耦/谐振等)的选型策略。2. 典型电路应用原理:详细阐述去耦电容布局规则、晶振负载电容作用、共射放大电路旁路电容功能,以及RC电路的滤波/定时等应用。3. 特殊问题解决方案:MLCC啸叫机理与对策、寄生电容影响与消除、高速信号线电容使用禁忌等工程实践难题。4. 安全规范要点:X/Y电容的区别与选用、电解/钽电容防反接措施

XU157303764的博客 1560

将小写金额转换成中文大写

FUNCTION ZCONV_AMOUNT_MB. *"-------------------------------------------------------------------- "“局部接口: *” IMPORTING *" REFERENCE(VA1) TYPE P *" CHANGING *" REFERENCE(STR) TYPE MAKT-MAKTX...

Daisy08503的博客 314

WPF在特定领域的应用:打造一款专业的图像编辑工具

WPF在特定领域的应用:打造一款专业的图像编辑工具,在软件开发的广阔领域中,Windows Presentation Foundation(WPF)以其强大的图形渲染能力和丰富的用户界面控件,为开发者提供了构建高性能、美观应用程序的平台。图像编辑工具作为一种对图形处理要求极高的应用类型,WPF 的特性使其成为理想的选择。本文将深入探讨如何使用 WPF 打造一款专业的图像编辑工具,涵盖从基础概念到实际代码实现的各个方面。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 6万+

逻辑电平(TTL/CMOS/LVDS/LVPECL/CML)

逻辑电平介绍 TTL------晶体管-晶体管逻辑门(Transistor-Transistor Logic gate) TTL采用5V电源

sinat_15677011的博客 2万+

金额数字(小写)转换成文字(大写)

  private static string[] shuzi={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};  private static string[] danwei={"分","角","元","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟"};  public static string MoneyConvert

liushenjun的专栏 1422

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

小写金额转换成大写金额

将大写的数字和单位分别保存在两个字符串中 去除用户输入的小写金额中的小数点 根据用户输入的小写金额长度取出该字符串所用的单位 取出小写字符对应的大写字符,并与单位组成新的字符串,对小写金额中存在连续多个0的情况进行处理 对用户输入的小写金额进行合理性判断 function convert(){ var money_num = document.getElementById("money_n...

you can you up up up的博客 2532

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

SQL把小写的金额转换成大写的金额函数

/*----------------------------------------------------------*/ /* [FUpMoney] */ /*----------------------------------------------------------*/ IF EXISTS (...

蚂蚁筑巢 7708

小写数字金额,转换成大写中文,绝无错误

小写数字金额,转换成大写中文,绝无错误function  mxb(){  newchar="";Num=document.form1.money.value;for(i=Num.length-1;i>=0;i--)  {  Num  =  Num.replace(",","")//替换tomoney()中的“,”  Num  =  Num.replace("  ","")//替换tomoney()

☆★子游★☆★爱无悔★☆ 1072

ASP小写金额转换成大写金额

%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>http://www.w3.org/TR/html4/loose.dtd">无标题文档function Arabia_to_Chinese(Num){ for(i=Num.length-1;i>=0;i--) {  Num = Num.replace(",","")//替换tomoney()中的“,”  Num = Num

itzhiren的专栏 1609

Java 将小写金额转换成大写金额

将小写金额转换成大写金额 例如:110.00转换后为 壹佰壹拾圆整 代码如下/** * 将小写金额转换为大写 * * @param amount * 110.00 * @return 壹佰壹拾圆整 */ public static String amountToUpper(String amount) t

yincheng的博客 1296

将小写的金额转换成中文的大写金额

/** * 作者:陈伟兵 * MSN: cwbnig@hotmail.com * Q Q:  56235312 * 信箱:chenweibing1982@163.com */import java.lang.Math;/** * 将小写的金额转换成中文的大写金额 * 如“5460”转换成“伍千肆百陆十零” * 本程序暂时对单位只支持到亿 */public class DateToChinese

陈伟兵的专栏 1454

Oracle如何将小写金额转换成大写

为了制作费用报销单,用到ireport 工具制作报表,需要将小写金额转换成以下形式!   在网上看过很多例子,出现两种状况:一是在oracle执行不了;二是执行的结果不是我要的形式,所以小菜鸟我自行写了一个函数,本来想用case写条件,但是本人能力有限,只会用if-elsif-else-end if 来写,如果各位大侠会用case 写,请多多赐教!以下函数经过验证,是可以用滴!看以下函数:

IVY_123IVY的专栏 1420
上一篇: sql语句提高查询效率
下一篇: sql陽曆轉陰曆
edpdennis
博客等级 码龄19年 10粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值