zoukankan      html  css  js  c++  java
  • 对小数的四舍五入算法

    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;
    	}


  • 相关阅读:
    【 一次性密码】TOTP
    动态令牌-(OTP,HOTP,TOTP)-基本原理
    动态口令
    Jmeter参数化 CSV Data Set Config界面说明
    Jmeter测试监控 Summary Report界面
    jmeter命令行参数
    jmeter场景设计
    jmeter事务控制器
    软件测试模型
    业务流程测试
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/3921534.html
Copyright © 2011-2022 走看看