当前位置:  开发笔记 > 编程语言 > 正文

System.Convert.ToInt vs(int)

如何解决《System.Convert.ToIntvs(int)》经验,为你挑选了1个好方法。

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

double d = 3.1415;
int i = Convert.ToInt32(Math.Floor(d));

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

double d = 3.1415;
int i = (int)d;

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

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

double d = 3.1415;
float f = Convert.ToSingle(d);

这是一样的:

float f = (float)d;

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



1> Michael L Pe..:

转换为int是隐式截断,而不是隐式地板:

double d = -3.14;
int i = (int)d;
// i == -3

我选择Math.Floor或Math.Round来使我的意图更明确.

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有