小编Mat*_*att的帖子

Ints和Doubles做分工

简短的版本:为什么我不必强制60和int,进入一个double,这样如果我关心小数部分,我可以使用另一个double的除法?

长版本:我的老板用一行代码打电话给我.我测试了它并且它工作得很好,但他认为我有一个等待发生的错误.

int durationinseconds = 61;  // This is actually filled from a double.tryparse 
                             // from a string value out of an xml doc.
int durationinminutes = (int)Math.Ceiling((double)durationinseconds / 60);
Run Code Online (Sandbox Code Playgroud)

我的代码应该从XML文档获得#秒,然后计算出分钟数,总是向上舍入.60秒= 1分钟,61秒= 2分钟等

我已经测试了我的代码,但是他确认"/ 60"部分应该是"/ 60.0".

我用0,1,2,59,60,61,119,120,121,599,600,601等测试了我的代码,它总能正常工作.

在我为自己辩护之前,我大多理解为什么他认为我需要强制60为小数,因为他认为如果我使用int值,那么double/int将导致一个整数值,从而有效地降低了分数部分.

但是,这不会发生,我无法解释原因.所以,这是我的问题:如果我想使用小数部分,为什么我不能在分割双倍时使用60.0?

.net c# double type-conversion

4
推荐指数
1
解决办法
320
查看次数

标签 统计

.net ×1

c# ×1

double ×1

type-conversion ×1