1.SQL取百分比
示例0:求1/3後取百分比,保留兩位小數
SELECT CAST(CAST(1 * 1.0 * 100 / 3 AS DECIMAL(10, 2)) AS VARCHAR(50)) + '%';
--SqlServer2012版本之後:
SELECT FORMAT(1*1.0/3, 'P') Result;
---
33.33%
33.33%
示例1:最基本的兩列百分比
WITH temp AS
(
SELECT 1 AS NumA, 3 AS NumB
)
SELECT CAST( CAST( temp.NumA*1.0*100/temp.NumB AS DECIMAL(10,2)) AS VARCHAR(50))+'%' FROM temp;
---
33.33%
示例2:關於處理除零錯誤
-
關於NULLIF和ISNULL配合處理除零錯誤
--首先:0/NULL=NULL
SELECT 0/NULL;--NULL
--其次:NULLIF(a,b) 表示:若a等於b,則返回NULL,否則返回a
SELECT 0/NULLIF(0,0)--NULL
--最後:ISNULL判斷是否是NULL,若是返回0
SELECT ISNULL(0/NULLIF(0,0),0)--0
WITH temp AS
(
SELECT 1 AS NumA, 3 AS NumB
UNION ALL
SELECT 1 AS NumA, 0 AS NumB
)
SELECT CAST( ISNULL( CAST( temp.NumA*1.0*100/ NULLIF( temp.NumB,0) AS DECIMAL(10,2)),0) AS VARCHAR(50))+'%' AS 百分比 FROM temp;
---結果:
百分比
-----------
33.33%
0.00%
2.C#取百分比
decimal percent = 0.3333333M;
string q1 = percent.ToString("P"); //33.33% 自動四捨五入,百分數,千位分隔,自動兩個小數
string q2 = percent.ToString("P0"); //33% P後邊跟數字,代表精度。
string q3 = percent.ToString("P1"); //33.3%
string q4 = percent.ToString("P2"); //33.33%
string q5 = percent.ToString("P3"); //33.333%
string q6 = percent.ToString("P4"); //33.3333%
string q7 = percent.ToString("P5"); //33.33333%
string q8 = percent.ToString("P6"); //33.333330%
3.JS取百分比
//兩數相除取百分比%並保留兩位小數
function Percentage(number1, number2)
{
return (Math.round(number/number2 * 10000) / 100.00 + "%"); // 小數點後兩位百分比
}
var res = Percentage(1, 3)
console.log(res)//打印:33.33%