C语言问题,float不是保留八位吗,为啥这里要加四个0?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言问题,float不是保留八位吗,为啥这里要加四个0?相关的知识,希望对你有一定的参考价值。
参考技术A 不是保留8位,而是默认显示小数点后6位本回答被提问者采纳 参考技术B 因为早期实现printf的工程师,其对%f格式的实现是:小数点后保留6个小数点,然后传承下来就成你看到的样子。如果早期那个工程师的实现是:只保留7个有效数字,那么你就会得到:123.4600
%f 只用来影响输出的显示,实际运算时都是 双精度类型 运算,有效数字有15、16位。 参考技术C float保留八位大概是“计算精度”,和这里显示多少位没有啥特别关系
.NET中float怎么让小数强制保留一位
.NET中float怎么让小数强制保留一位?
private float su(float a, float b)
return (b - a) / a;
protected void Button2_Click(object sender, EventArgs e)
a2.Text = su(float.Parse(a.Text), float.Parse(a1.Text)) + "";
2 用字符串格式化的方式,配合特定的格式化符号来操作,比如F1,比如0.0,具体代码比如:
float a = 1.111f;
Console.WriteLine(a.ToString("0.0"));
打印结果为1.1,您可能要问0.0撒意思,0在这里表示数字的意思,类似的还有一个数字占位符"#"
同样的符号可以用string.format同等替换:
float a = 1.111f;
Console.WriteLine("0:0.0",a);
打印结果是一样的
更多的字符串格式化可以看msdn
3 就是自己写方法了,通过截取字符串来判断小数位数.这里不再赘述 参考技术B a2.Text = su(float.Parse(a.Text), float.Parse(a1.Text)).ToString("F1");
以上是关于C语言问题,float不是保留八位吗,为啥这里要加四个0?的主要内容,如果未能解决你的问题,请参考以下文章