zoukankan      html  css  js  c++  java
  • 小数点转百分比

    复制代码

    -- =============================================
    -- Author:        <Author,,CC>
    -- Create date: <Create Date,, 2014-05-26 10:43:07.080>
    -- Description:    <Description,,小数点转换为百分数,并对第3位进行4舍5入>
    -- Environment:    <Version,, Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64))>
    -- =============================================
    
    /*------------------------------------------------------------------------
    2种思路的计算方法:
    1种是直接decimal 类型可以设置精度为4,小数位为2,这样会自动的把小数为3的数字进行四舍五入掉
    2种是就是我们对小数点位数进行加法计算来满足达到四舍五入的条件(即变量+0.005)这个时候可以使用int类型
    以下为实现方法:
    --------------------------------------------------------------------------*/
                    
    -------------------------    方法1    ---------------------------------------
    declare @i int = 3
    declare @it int = 7
    
    select (@i*1.0)/@it [小数点] 
    -- 因为数据类型为int所以,需要*1.0来进行转换,如果直接是带有小数点位数可以跳过这一步
    
    select ((@i*1.0)/@it)*100 [分子]
    --把小数点转换为所需要的百分比分子值需要乘以100
    
    select CAST( ((@i*1.0)/@it)*100 as decimal(5,0)) [4舍5入之后2位小数点的百分数]    
    --保留2位小数点,也是对小数位进行4舍5入的一步
    
    select LTRIM(CAST( ((@i*1.0)/@it)*100 as decimal(5,0)))+'%'     [百分数]
    -- 加%号以合成百分比,也可以使用下面的方法来进行转换因为另外的一种方法,只能使用转换varchar类型
    
    select CAST(CAST( ((@i*1.0)/@it)*100 as decimal(5,0)) as varchar(10))+ '%'  [百分数]
    
    -------------------------    方法2    -----------------------------------------
    declare @i int = 3 
    declare @it int = 7
    
    select (@i*1.0)/@it    [小数点]
    -- 因为数据类型为int所以,需要*1.0来进行转换,如果直接是带有小数点位数可以跳过这一步
    
    select ((@i*1.0)/@it)+0.005 [4舍5入]
    -- 对得到的结果进行+0.005以取得第三位小数点4四5入的结果
    
    select (((@i*1.0)/@it)+0.005)*100 [带小数点的分子]
    -- *100 把小数点转换为百分比的分子
    
    select CAST((((@i*1.0)/@it)+0.005)*100 as int) [分子]
    -- 把第2位小数点之后的数字进行截取,转换为整数
    
    select CAST(CAST((((@i*1.0)/@it)+0.005)*100 as int) as varchar(10)) + '%' [百分数]
    --把整型转换为字符型的数据类型,加上百分号
  • 相关阅读:
    Python常见问题
    经典SQL语句大全(转)
    VMware ESX常用命令
    每天一个linux命令(目录)
    Linux 技巧:让进程在后台可靠运行的几种方法(转)
    软件测试随手记(转)
    linux下查看磁盘空间
    MQ5.3在redhat9上的安装
    我的MQ笔记
    RedHat Linux下MQ安装步骤及MQ常用命令
  • 原文地址:https://www.cnblogs.com/zmztya/p/6207848.html
Copyright © 2011-2022 走看看