• 小数点转百分比


    复制代码

    -- =============================================
    -- 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)) + '%' [百分数]
    --把整型转换为字符型的数据类型,加上百分号
  • 相关阅读:
    父子组件双向通讯
    高德地图采坑实践之文本标记点击事件左半边不生效(已解决)
    高德地图 location字段控制台显示 为字符串类型 实际为对象
    允许长单词、数字、URL换行到下一行
    python 格式化输出详解(占位符:%、format、f表达式)——上篇 理论篇
    python tkinter实现俄罗斯方块 基础版
    python递归三战:Sierpinski Triangle、Tower of Hanoi、Maze Exploring
    python(pygame)滑稽大战(类似飞机大战) 教程
    编辑器测试-TinyMCE
    封装cookie localStorage sessionStorage
  • 原文地址:https://www.cnblogs.com/zmztya/p/6207848.html
Copyright © 2020-2023  润新知