Unity之路十三 -C#四舍五入绝对好使 unity3d 绝对值

1.C#中没有“四舍五入”,它采用的是“四舍六入五成双”。为了用C#来实现“四舍五入”,我写了下面的函数:整体思想就是:(value*10+0.5)取整(注意是向下取整),再除以10。
//参数value为要处理的浮点数,参数digit为要保留的小数点位数public static double Round (double value, int digit){ double vt = Math.Pow (10, digit); //1.乘以倍数 + 0.5 double vx = value * vt + 0.5; //2.向下取整 double temp = Math.Floor (vx); //3.再除以倍数 return (temp / vt);}
2. 下面介绍一下四舍六入五成双如下面的例子,就是用“四舍六入五成双”得到的结果:
double d1 = Math.Round(1.25, 1);//1.2 double d2 = Math.Round(1.24, 1);//1.2 double d3 = Math.Round(1.26, 1);//1.3 double d4 = Math.Round(1.35, 1);//1.4
细心的人会发现Math.Round还有第三个枚举参数.注意:该参数仅对当第三个参数是其他数字的中间值时(或者说数字的右侧最后一位数是5时),才会起作用。
double d5 = Math.Round(2.5, 0,MidpointRounding.AwayFromZero);解释:当一个数字(2.5),是其他两个数字(2和3)的中间值时,会将其摄入为两个值中绝对值较小的值2.double d5 = Math.Round(-2.5,0,MidpointRounding.AwayFromZero);解释:当一个数字(-2.5),是其他两个数字(-2和-3)的中间值时,会将其摄入为两个值中绝对值较小的值-2.
double d6 = Math.Round(2.5, 0,MidpointRounding.ToEven);解释:当一个数字(2.5),是其他两个数字(2和3)的中间值时,会将其摄入为最接近的偶数2.double d6 = Math.Round(-2.5,0,MidpointRounding.ToEven);解释:当一个数字(-2.5),是其他两个数字(-2和-3)的中间值时,会将其摄入为最接近的偶数-2.
3. 向上取整Ceiling直接往大的取,比如System.Math.Ceiling(-123.55)=-123,System.Math.Ceiling(123.55)=124
4. 向下取整Floor直接往小的取,比如System.Math.Floor(-123.55)=-124,System.Math.Floor(123.55)=123

5.直接截取
Truncate直接切下整数,比如System.Math.Truncate(-123.55)=-123,System.Math.Truncate(123.55)=123

关于此枚举,详细你也可以查看官方文档:

MidpointRounding枚举

http://msdn.microsoft.com/zh-cn/library/system.midpointrounding(v=vs.110).aspx

Math.Round方法

http://msdn.microsoft.com/zh-cn/library/system.math.round(v=vs.110).aspx







Unity之路(十三)-C#四舍五入(绝对好使) unity3d 绝对值

  

爱华网本文地址 » http://www.413yy.cn/a/25101015/250608.html

更多阅读

健康之路 泡脚养生 健康之路男人养生

健康之路 泡脚养生——简介脚是人体中离心脏最远的部位,冬天由于寒冷的刺激,脚部血管收缩,血液运行发生障碍,易诱发多种疾病。热水泡脚就是足浴,属于中医足疗法内容之一,也是一种常用的外治法。用热水泡泡脚,既解乏,又利于睡眠。同时,在水中

《求生之路》图文攻略1 求生之路2攻略

【中文名称】: 求生之路【英文名称】: Left 4 Dead【游戏类型】: FPS 第一人称视角射击游戏【发行时间】: 2008年【制作发行】: Turtle Rock【地区】: 美国【语言】: 英文《求生之路》图文攻略1——步骤/方法《求生之路》图文攻略1

求生之路如何建立局域网联机游戏? 求生之路3局域网联机

求生之路如何建立局域网联机游戏?——简介《求生之路》(Left 4 Dead,简称L4D,又译“生死四人组”)是一款以僵尸为主题的恐怖生存类第一人称射击游戏,本游戏可联网也可以单机或者建立局域网进行游戏,很多人不懂得如何建立局域网进行宿舍或

声明:《Unity之路十三 -C#四舍五入绝对好使 unity3d 绝对值》为网友冫死灬神廾界分享!如侵犯到您的合法权益请联系我们删除