金额阿拉伯数字转换为中文的自定义函数

2016-01-29 16:18 5 1 收藏

金额阿拉伯数字转换为中文的自定义函数,金额阿拉伯数字转换为中文的自定义函数

【 tulaoshi.com - SQLServer 】

  CREATE FUNCTION ChangeBigSmall
(@ChangeMoney money)  
RETURNS VarChar(100) AS  

BEGIN
    Declare    @String1    char(20)
    Declare    @String2    char(30)
    Declare    @String4    Varchar(100)
    Declare @String3     Varchar(100)    --从原A值中取出的值
    Declare @i         int        --循环变量
    Declare @J         Int        --A的值乘以100的字符串长度
    Declare @Ch1         Varchar(100)    --数字的汉语读法
    Declare @Ch2         Varchar(100)    --数字位的汉字读法
    Declare @Zero         Int        --用来计算连续有几个零
    Declare    @ReturnValue    VarChar(100)

    Select  @ReturnValue = ''
    Select     @String1 = '零壹贰叁肆伍陆柒捌玖'
    Select    @String2 = '万仟佰拾亿仟佰拾万仟佰拾元角分'

    Select @String4 = Cast(@ChangeMoney*100 as int)    

    select @J=len(cast((@ChangeMoney*100) as int))

    Select @String2=Right(@String2,@J)

    Select    @i = 1

    while    @i<= @j Begin

        Select @String3 = Substring(@String4,@i,1)

        if @String3<'0' Begin

            Select     @Ch1 = Substring(@String1, Cast(@String3 as Int) + 1, 1)
            Select    @Ch2 = Substring(@String2, @i, 1)
            Select    @Zero = 0                    --表示本位不为零
        end
        else Begin
            If (@Zero = 0) Or (@i = @J - 9) Or (@i = @J - 5) Or (@i = @J - 1)
                        Select @Ch1 = '零'
                    Else
                        Select @Ch1 = ''

                    Select @Zero = @Zero + 1             --表示本位为0
                        
            --如果转换的数值需要扩大,那么需改动以下表达式 I 的值。
&nb

来源:https://www.tulaoshi.com/n/20160129/1498218.html

延伸阅读
//******************************************************** // 模块:数字转换为中文大写 #include "stdafx.h" static char *unit1[] = { "拾", "佰", "仟" }; static char *unit2[] = { "万", "亿" }; static char *digital[] = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" }; //*******************************...
标签: 电脑入门
Excel中我们在单元格输入了阿拉伯数字之后,比如1234567890,忽然想起应该将它改成中文的大写格式,这时怎么办?删掉此内容重新一个字一个字地输入壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾?显然太麻烦了。假若并不是一个数字,而是很长的一列单元格,那我们还不麻烦死? 不过别担心,在Excel中这不是个难题,至少有以下的两种方法可供您选择: 一...
标签: ASP
  function new_str(str) if instr(str,chr(34))<0 and str<"" then   str_split=split(str,chr(34))   i=1   str_s=""   for j=0 to ubound(str_split)-1    if i mod 2 then     str_s=str_s&str_split(j)&"“&quo...
标签: PHP
  每次编写列表性质的页面,几乎都要写上一段分页的程序。最近小阳终于决心一劳永逸——自定义一个分页函数,并保存在“pageft.php”文件里。要用到分页的地方,就直接包含“pageft.php”文件,并调用这个函数就行了。小阳在编写这个函数时,尽量注意了程序的可移植性和易用性,下面就是小阳编写的函数: 好,分页函数已经...
标签: 口味食谱
阿拉伯饼 准备所有用料 按顺序将材料倒入面包机中,选择“发酵面团”,约一个半小时后,你再回来。<br>倒料的顺序为:水--糖--盐--油--面粉--酵母 分成均匀的小剂子,大点小点无所谓,...

经验教程

505

收藏

21
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部