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

2016-01-29 16:18 10 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

来源:http://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...
  仅仅依靠Authorware 6.0本身的功能和它所提供的系统函数,来提高Authorware多媒体程序的灵活性是不够的。有些时候,用户需要利用其他的开发工具来生成用户自定义函数,用来拓展程序的功能。本章向大家展示的就是有关于这方面的应用。 1 概述1.1 什么是用户自定义函数 UCD的全名是User Code Dll,是用户自定义函数的缩写。目前任何...

经验教程

475

收藏

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