如何每次将浮点数舍入到最接近的整数,但只能向下舍入。我需要最快的方法。
因此,浮点数1.2将为1,而1.8也将为1。
1.2f 将 1.0f
1.8f 将 1.0f
谢谢!
答案 0 :(得分:16)
Math.Floor()是你的朋友。
示例代码:
using System;
using System.Text;
namespace math
{
class Program
{
static void Main(string[] args)
{
//
// Two values.
//
float value1 = 123.456F;
float value2 = 123.987F;
//
// Take floors of these values.
//
float floor1 = (float)Math.Floor(value1);
float floor2 = (float)Math.Floor(value2);
//
// Write first value and floor.
//
Console.WriteLine(value1);
Console.WriteLine(floor1);
//
// Write second value and floor.
//
Console.WriteLine(value2);
Console.WriteLine(floor2);
return;
}
}
}
答案 1 :(得分:2)
System.Math.Floor(double)
应该做的伎俩
答案 2 :(得分:2)
通过强制转换为int,您将截断小数
float f = 1.2;
int rounded = (int)f;
答案 3 :(得分:1)
Math.Ceiling(value)
Math.Floor(value); //your answer