一个关于float基础问题,帮忙解答一下,谢谢 float f = 10 / 12;MessageBox.Show(f.ToString());问题一:为什么上面运行结果是0,而不是0.83333问题二:0.833如何保留一位小数 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 问题一:因为10和12都是int型,相除得到的结果是int型,所以是0,你可以改成10.0/12问题二:不知我只知道float的精度是7位,至于怎么保留小数,同问 从数据库获取到的整形前面加上(float) 10和12都是INT类型先是INT类型的计算得出了结果就是0然后再将0赋值给f可将10和12先转换成FLOAT类型计算结果为0.83333代码如下float f = 10f / 12f;MessageBox.Show(f.ToString()); 如果想要显示结果保留一位小数代码如下float f = 10f / 12f;MessageBox.Show(f.ToString("0.0")); int a = 10;int b = 12;float r = (float)a / b;string s = r.ToString("0.0"); 2.Math.Round(2.1222, 1) 10和12都是INT类型先是INT类型的计算得出了结果就是0 在进行运算时。转换为 float 至于只保留一位小数,要格式化显示才得行 代码如下 float a = 10; float b = 12; float c = a / b; System.Diagnostics.Debug.Print(c.ToString("0.0")); //输出 0.8 MessageBox.Show(c.ToString("0.0")); float f = Convert.ToDouble(10) / Convert.ToDouble(12); C# LastIndexOf 遇到的问题 请问,在事务中提交更新,为什么报错? 输入十进制数,然后分别显示二进制,八,十六; 给串口发送一条命令,如何验证命令是否执行成功,serialport 类型转换 datagrid的中能不能把选中行变色和悬停变色结合起来全身家当了 C# 的输出的问题?请高手指点。 c#以带tab的txt文件做数据源的问题 如何使datagrid中新添加的行的某列给定一个初值 求C#ftp客户端源代码,谢谢 jmail接收到的邮件附件名称变为.msg怎么解决 xml 读值
问题二:不知我只知道float的精度是7位,至于怎么保留小数,同问
先是INT类型的计算得出了结果就是0
然后再将0赋值给f可将10和12先转换成FLOAT类型
计算结果为0.83333
代码如下
float f = 10f / 12f;
MessageBox.Show(f.ToString());
代码如下
float f = 10f / 12f;
MessageBox.Show(f.ToString("0.0"));
int b = 12;
float r = (float)a / b;
string s = r.ToString("0.0");
2.Math.Round(2.1222, 1)
先是INT类型的计算得出了结果就是0
至于只保留一位小数,要格式化显示才得行
float b = 12;
float c = a / b;
System.Diagnostics.Debug.Print(c.ToString("0.0")); //输出 0.8
MessageBox.Show(c.ToString("0.0"));