博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对小数的四舍五入算法
阅读量:7052 次
发布时间:2019-06-28

本文共 821 字,大约阅读时间需要 2 分钟。

Description:

仅仅能对最多6位小数进行四舍五入,注意小数末尾自己主动去0不占位(比如:1.20f被看做:1.2f),当传入的小数为2.0f这种小数时视为整数返回0;

被解决的问题:

在Unity3d圣典中的四舍五入函数Mathf.Round返回浮点数 f 进行四舍五入最接近的整数。假设数字末尾是.5,因此它是在两个整数中间,无论是偶数或是奇数,将返回偶数

Code:[C#,Unity3d圣典]

float MyRound(float f)	{		string s = f.ToString();		string [] s0 = s.Split(new char[]{'.'});		if (s0.Length == 1)		{			print("It is a integer");			return 0;		}		if (s0.Length != 2)		{			print("something is wrong");			return 0;		}		if (s0[1].Length == 1)//1位小数时		{			if (int.Parse(s0[1][0].ToString()) >= 5)				return Mathf.FloorToInt(f) + 1;			else				return Mathf.FloorToInt(f);		}		float power = 10;		for (int i = 2; i < s0[1].Length; i++)//s0[1].Length表示小数部分的位数		{			power *= 10;		}		f *= power;		f = Mathf.FloorToInt(f);		if (int.Parse(s0[1][s0[1].Length-1].ToString()) >= 5)			f += 1;		f /= power;		return f;	}

转载地址:http://cesol.baihongyu.com/

你可能感兴趣的文章
android使用notifyDataSetChanged()方法,listview数据没有更新
查看>>
MySQL中group_concat函数
查看>>
linux 学习笔记--磁盘管理
查看>>
SmartAuditor播放器不能搜索
查看>>
Weblogic10.3.6 for solaris10 x64安装
查看>>
eval解析JSON对象中的注意点
查看>>
为何有着良好设计的系统代码反而不容易看懂?
查看>>
Windows下Apache以FastCGI模式运行PHP
查看>>
Linux下无线网卡的安装
查看>>
Tomcat
查看>>
HBase的表结构
查看>>
10个你应该了解的Git命令(以及Git省时小窍门)
查看>>
PLSQL批量绑定插入数据
查看>>
Cesium入门9 - Loading and Styling Entities-加载和样式化实体
查看>>
node.js学习笔记三(安装外部node.js模块)
查看>>
我的友情链接
查看>>
Web应用系统开发课程(Jsp程序设计)资源列表
查看>>
浅谈微博营销公司的组织架构
查看>>
MDK4.23调试LPC1114时JLINK的设置
查看>>
SystemCenter2012SP1实践(8)私有云WEB平台SCAC
查看>>