我想将double加倍到int.
例如,
double a=0.4, b=0.5;
Run Code Online (Sandbox Code Playgroud)
我想将它们都改为整数.
以便
int aa=0, bb=1;
Run Code Online (Sandbox Code Playgroud)
aa来自a和bb来自b.
有没有这样做的公式?
Bru*_*oLM 164
使用Math.Ceiling围捕
Math.Ceiling(0.5); // 1
Run Code Online (Sandbox Code Playgroud)
使用Math.Round刚轮
Math.Round(0.5, MidpointRounding.AwayFromZero); // 1
Run Code Online (Sandbox Code Playgroud)
并且Math.Floor向下舍
Math.Floor(0.5); // 0
Run Code Online (Sandbox Code Playgroud)
.NET框架Math.Round默认使用银行家的四舍五入。您应该使用此重载:
Math.Round(0.5d, MidpointRounding.AwayFromZero) //1
Math.Round(0.4d, MidpointRounding.AwayFromZero) //0
Run Code Online (Sandbox Code Playgroud)
只是用更多示例调整@BrunoLM 的答案:
Math.Round(0.4); // =0
Math.Round(0.5); // =0
Math.Round(0.6); // =1
Math.Round(0.4, MidpointRounding.AwayFromZero); // = 0
Math.Round(0.5, MidpointRounding.AwayFromZero); // = 1
Math.Round(0.6, MidpointRounding.AwayFromZero); // = 1
Math.Round(0.4, MidpointRounding.ToEven); // = 0
Math.Round(0.5, MidpointRounding.ToEven); // = 0
Math.Round(0.6, MidpointRounding.ToEven); // = 1
Run Code Online (Sandbox Code Playgroud)