四舍五入到最近的一年

时间:2012-01-31 15:40:14

标签: c# c#-4.0

大家好我搜索了网页,但已经能够找到解决这个问题的方法。基本上我想要几天到最近的一年。因此,如果我有250天的价值,这应该最多为1年,或者如果我有400天,这将最多为2年。有什么想法吗?

2 个答案:

答案 0 :(得分:6)

年份长短不一 - 366天是一年还是两年?

假设一年365天,你会想要这样的东西:

int years = (days + 364) / 365;

...确保完全年数根本不会四舍五入,但其他任何事情都会结束。

另一种选择是:

int years = (int) Math.Ceiling(days / 365.0);

答案 1 :(得分:0)

好吧,现在Jon Skeet评论说我显然没有机会...... :(

如下面的评论中所述,他的解决方案是应该关注的解决方案。如果有人怀疑这个...

int days = 400;
int roundedYears = (days / 365) + 1