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

就是我声明了一个int和一个float变量:inta;floatb;现在需要a得到b的整数部分值可是编译提示无法将类型“float”隐式转换为“int”。存在一个显式转换... 就是我声明了一个int和一个float变量:int a; float b;
现在需要a得到b的整数部分值 可是编译提示
无法将类型“float”隐式转换为“int”。存在一个显式转换(是否缺少强制转换?)
请问要怎样才可以让a成功获得b的整数部分数值?
展开
 我来答
四舍五不入6
高粉答主

2019-10-24 · 还没有填写任何签名哦
四舍五不入6
采纳数:27 获赞数:71405

向TA提问 私信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#

linsen_28
2018-10-18
知道答主
回答量:11
采纳率:0%
帮助的人:7.3万
展开全部
没一个正确答案,真是不靠谱,其实很简单
float count = 0.035f/0.01f;
int countI =(int) count / 1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Polaris北斗
2017-07-06 · TA获得超过3204个赞
知道大有可为答主
回答量:2530
采纳率:79%
帮助的人:949万
展开全部
强制转换,a = (int)b;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wnq0204
2007-08-22 · TA获得超过257个赞
知道小有建树答主
回答量:312
采纳率:0%
帮助的人:283万
展开全部
1.
a=Integer.parseInt(b.toString());
2.
a=Convert.ToInt32(b);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
姣过手飘找人1Q
推荐于2018-10-24 · TA获得超过1904个赞
知道大有可为答主
回答量:2466
采纳率:70%
帮助的人:408万
展开全部
PointF p1 = new PointF(0, 0);
PointF p2 = new PointF(X, Y);
g.DrawLine(pe, X, Y);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式