请问C#的float如何转换为int

 我来答
惠企百科
2022-12-11 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部

int到float转换精度会降低,如果需要较高精度,应该考虑使用double类型。

如从int(System.Int32)到float转换精度会降低,如下代码:

static void Main(string[] args)

{

Int32 number = Int32.MaxValue;

Console.WriteLine(number);

Console.WriteLine((float)number);

Console.ReadLine();

}

输出为:

2147483647

2.147484E+09

扩展资料:

当在int(假设int是32位的)、float和double格式之间进行强制类型转换时,原则如下:

从 int 转换成 float,数字不会溢出,但是可能被舍入。

从 int、float 转换成 double,能够保留精确的数值。因为 double 有更大的范围和更高的精度(有效位数)。

从 double 转换成 float,因为 float 范围要小一些,所以值可能溢出成 +∞ 或 -∞。另外由于float精度较小,还可能被舍入。

从 float、double 转换成 int,值将会向零舍入。如1.999会被转成1,-1.999会被转成-1。同时值可能会溢出。

参考资料来源:百度百科-c#

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式