将int除以10舍入为最接近的int

时间:2016-09-21 13:53:54

标签: c# math unity3d int

我想将int除以10得到一个最接近舍入的整数,所以 12应该给1和17应该给2

继承我的代码:

int BonusValue;
int Str;

BonusValue = Convert.ToInt32(Math.Round(Convert.ToDouble(Str) / 10));

这会有用吗?

4 个答案:

答案 0 :(得分:6)

是的,这应该有用。

但是,如果将整数中的一半舍入步骤(在您的情况下为5)添加,则会更容易。然后你可以做简单的整数除法:

{"left": 30, "top": 50}

答案 1 :(得分:1)

使用Mathf.RoundToInt

Debug.Log(Mathf.RoundToInt(17f/10f));

答案 2 :(得分:0)

这样可行,但这是一种效率低下的方式。

团结一致的最佳方式就是使用内置方法完成

BonusValue = Mathf.RountToInt(Str/10f);

答案 3 :(得分:0)

它会起作用,但你需要什么样的圆形?检查一下:MidpointRounding Enumeration