文档章节

Sql Server 数字金额转中文金额 函数

o
 osc_bkdv2it5
发布于 2019/08/19 11:33
字数 265
阅读 19
收藏 0

精选30+云产品,助力企业轻松上云!>>>

  在做一些订单金额、合同金额转换的时候,经常会遇到数字转成中文的情况,所以整理了一个数字转中文的函数;

/*
    说明:数字金额转中文金额
    示例:187.4 转成 壹佰捌拾柒圆肆角整
*/

CREATE FUNCTION [dbo].[CNumeric](@num numeric(14,2))
    returns nvarchar(100)
BEGIN
    Declare @n_data nvarchar(20),@c_data nvarchar(100),@n_str nvarchar(10),@i int
    Set @n_data=right(space(14)+cast(cast(abs(@num*100) as bigint) as nvarchar(20)),14)
    Set @c_data=''
    Set @i=1
    
    WHILE @i<=14
    Begin
        set @n_str=substring(@n_data,@i,1)
        if @n_str<>''
        begin
        IF not ((SUBSTRING(@n_data,@i,2)= '00') or
        ((@n_str= '0') and ((@i=4) or (@i=8) or (@i=12) or (@i=14))))
        SET @c_data=@c_data+SUBSTRING( N'零壹贰叁肆伍陆柒捌玖',CAST(@n_str AS int)+1,1)
        IF not ((@n_str= '0') and (@i <> 4) and (@i <> 8) and (@i <> 12))
        SET @c_data=@c_data+SUBSTRING( N'仟佰拾亿仟佰拾万仟佰拾圆角分',@i,1)
        IF SUBSTRING(@c_data,LEN(@c_data)-1,2)= N'亿万'
        SET @c_data=SUBSTRING(@c_data,1,LEN(@c_data)-1)
        END
        SET @i=@i+1
    END
    IF @num <0
        SET @c_data= '(负数)'+@c_data
    IF @num=0
        SET @c_data= '零圆'
    IF @n_str= '0'
        SET @c_data=@c_data+ ''
        
    RETURN(@c_data)
END

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
含浪/nzh

Nzh 适用于开发过程中需要将数字转换为中文的场景。 以字符串的方式转换,解决超大数及浮点数等问题,请自行对原数据进行四舍五入等操作。 安装 $ npm install nzh --save$ bower install nz...

含浪
2016/11/02
0
0
[转帖]人民币和美元的中英文大写翻译

http://www.kmhpromo.com/writing-numbers-in-words/index.html 原版网页 可以执行转换. 这个知识点挺好的. 人民币和美元的中英文大写翻译 在您的合同,财务部门收据中,形式发票(PI),采购订单...

济南小老虎
04/08
0
0
golang实现人民币小写转大写

使用golang的正则表达式实现人民币小写转大写,代码如下: 上面代码执行结果如下(可以使用ConvertNumToCny函数输入任何转换金额作为参数): 我们对于大金额的数据经常需要数位数而降低了我...

知止software
2016/08/21
148
0
【转】Delphi货币类型转中文大写金额

unit TU2.Helper.Currency; interface function CurrencyToChineseCapitalCharacter(const AValue: Currency; const ADecimals: Cardinal=4): string;function CurrencyToString(const AValu......

osc_5yejhemb
2019/09/12
8
0
java 金额数字转换大写算法

根据人民币大写金额规范,转换有几点要注意的: 阿拉伯数字中间有“0”时,中文大写金额中间可以只写一个“零”字。如¥1,409.50,应写成人民币壹仟肆佰零玖圆伍角。阿拉伯数字中间连续有几...

osc_fhl05ph9
0200/06/05
10
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringCloud- 第六篇 Hystrix参数配置(三)

1:概述 Hystrix使用Archaius作为配置属性的默认实现。官方配置文档: https://github.com/Netflix/Hystrix/wiki/Configuration 每个属性有四个优先级,依次增大: 1:代码的全局默认值 2:动...

osc_7z601p6x
14分钟前
0
0
SpringBoot2 整合JTA组件,多数据源事务管理

本文源码:GitHub·点这里 || GitEE·点这里 一、JTA组件简介 1、JTA基本概念 JTA即Java-Transaction-API,JTA允许应用程序执行分布式事务处理,即在两个或多个网络计算机资源上访问并且更新...

osc_sju4uxml
16分钟前
0
0
Springboot + Vue + shiro 实现前后端分离、权限控制

本文总结自实习中对项目的重构。原先项目采用Springboot+freemarker模版,开发过程中觉得前端逻辑写的实在恶心,后端Controller层还必须返回Freemarker模版的ModelAndView,逐渐有了前后端分...

osc_lbt7zo1x
17分钟前
8
0
docker-compose部署配置jenkins

docker-compose部署配置jenkins 一、docker-compose文件 version: '3.1'services: jenkins: image: jenkins/jenkins:lts volumes: - /data/jenkins/:/var/jenkins_home ......

osc_4p2c0ecc
19分钟前
7
0
第五周

1、查找/etc目录下大于1M且类型为普通文件的所有文件 2、打包/etc/目录下面所有conf结尾的文件,压缩包名称为当天的时间,并拷贝到/usr/local/src目录备份。 3、利用sed 取出ifconfig命令中本...

osc_hxm151is
20分钟前
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部