• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#Decimal四舍五入到指定小数位数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一、实现

在实现Excel导出时,导出列要求使用数值类型,不能通过ToString将原有的decimal先格式化后再导出,

有两种实现方法,以保留两位小数为例

方式一:

decimal temp=232.23234234;
int decision=2;
int calc = (int)Math.Pow(10, decision);
temp = Math.Round(temp * calc) / calc;

 方式二:

decimal temp=232.23234234;
int decision=2;
temp = System.Decimal.Round(temp, decision);

二、 其它:

Java中

     Math类提供了3个有关取整的方法:ceil()、floor()、round()。

    这些方法与他们的英文名字相对应:

   1、ceil,天花板,意思就是向上取整,Math.ceil(11.5)的结果为12,Math.ceil(-11.5)的结果为-11。

   2、floor,地板,意思就是向下取整,Math.floor(11.5)的结果为11,Math.floor(-11.5)的结果为-12。

   3、round,表示四舍五入,算法为:Math.floor(x+0.5),即将原来的数字加上0.5后在向下取整,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。

C#中

1、Math.Round是"就近舍入",当要舍入的是5时与"四舍五入"不同(取偶数),如:
Math.Round(0.5,0)=0    
Math.Round(1.5,0)=2    
Math.Round(2.5,0)=2    
Math.Round(3.5,0)=4 

2、Math.Truncate 计算双精度浮点数的整数部分,即直接取整数,如:
Math.Truncate(-123.55)=-123, 
Math.Truncate(123.55)=123   

3、Math.Ceiling 取天板值,即向上取整,与"四舍五入"无关。
Math.Ceiling(1) = 1
Math.Ceiling(1.1) = 2
Math.Ceiling(1.5) = 2
Math.Ceiling(3.1) = 4 

4、Math.Floor 取地板值,即向下取整,与"四舍五入"无关。
Math.Floor(1) = 1
Math.Floor(1.1) = 1
Math.Floor(1.5) = 1
Math.Floor(3.9) = 3

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap