VC编程如何设置数据小数点后位数
发布网友
发布时间:2023-08-15 12:09
我来回答
共3个回答
热心网友
时间:2024-11-06 06:15
原始数据几位小数,结果也是几位。
这是对的。atof无法提升精度。
至于楼主所希望的3位变成6位,其实数据在内存中的精度足够。
只是你输出数据的时候没有加控制符而已。
用下面例程可以输出小数点后6位的浮点数。
printf("%.6f",m_cloudPts[modalNum].x);
double的取值范围,如果小数点前的有效数字不多的话,应当可以满足小数点后9位的要求。
2.2250738585072014 E – 308
1.7976931348623158 E + 308
热心网友
时间:2024-11-06 06:15
如果m_cloudPts是float的话,自动转换成8个有效数字,小数点的位数好像没有办法控制的
比如:输入的是123.45 那么就会变成:123.45000
输入的是1.2345 那么就会变成:1.2345001
显示的时候,可以用"%.06f"做格式化,这时候是可以控制小数点的位数的
补充:
atof的返回值类型是double,而不是float,只要你左边的值是double就不会被截断
double atof(const char *nptr);已经明确说是double类型了,浮点数包含单精度float和双精度double
热心网友
时间:2024-11-06 06:16
这个是浮点数,int,float,double float,位数是固定的,取决于采用的字节长度。你只能在它的基础上取舍,用与的方式只要想要的位数。