相关疑难解决方法(0)

在C#中将double转换为int

在我们的代码中,我们有一个我们需要转换为int的double.

double score = 8.6;
int i1 = Convert.ToInt32(score);
int i2 = (int)score;
Run Code Online (Sandbox Code Playgroud)

谁能解释我为什么i1 != i2

我得到的结果是:i1 = 9i2 = 8.

c# double int

86
推荐指数
4
解决办法
13万
查看次数

System.Convert.ToInt vs(int)

我在另一篇文章中注意到有人做了类似的事情:

double d = 3.1415;
int i = Convert.ToInt32(Math.Floor(d));
Run Code Online (Sandbox Code Playgroud)

他们为什么使用转换函数,而不是:

double d = 3.1415;
int i = (int)d;
Run Code Online (Sandbox Code Playgroud)

它有一个隐含的底层和转换.

另外,更关注的是,我在一些生产代码中注意到我正在阅读:

double d = 3.1415;
float f = Convert.ToSingle(d);
Run Code Online (Sandbox Code Playgroud)

这是一样的:

float f = (float)d;
Run Code Online (Sandbox Code Playgroud)

是否所有这些隐式转换只是在Convert类中是为了完整性,还是它们是否有用?我可以理解需要.ToString(),但不是其他的.

c# types

12
推荐指数
1
解决办法
7409
查看次数

标签 统计

c# ×2

double ×1

int ×1

types ×1