C#、MSSQL小数转整数四舍五入问题

C#

decimal avg1 = 13.58m;
decimal avg2 = 13.5m;
(1)  Console.WriteLine(Convert.ToInt32(avg1));  // 四舍五入,输出14
(2)  Console.WriteLine(Convert.ToInt32(avg2));  // 四舍五入,输出14
(3)  Console.WriteLine((int)avg1);                       // 强制转换,只保留整数部分,输出13

------------------------------------------------------------

MSSQL

(1) select convert(decimal(18,0),13.58)    --四舍五入,输出14

(2) select convert(decimal(18,0),13.5)      --四舍五入,输出14

(3)  select convert(int,13.58)                      --强制转换,只保留整数部分,输出13

-----------------------------------------------------------

总结:

1、C# decimal类型通过Convert 转换成Int类型与MSSQL中convert(decimal(18,0),13.58)效果相同,进行四舍五入换算成整型。

2、C# decimal类型强转为Int类型与MSSQL中convert(int,13.58) 效果相同,直接保留整数部分。

猜你喜欢

转载自www.cnblogs.com/anibei/p/12612534.html