我已经读过双精度和单精度之间的区别.然而,在大多数情况下,float和double,似乎可以用一个可以互换的,即或其他的似乎不影响使用效果.这是真的吗?浮动和双打什么时候可以互换?它们之间有什么区别?
代码
float x = 3.141592653589793238;
double z = 3.141592653589793238;
printf("x=%f\n", x);
printf("z=%f\n", z);
printf("x=%20.18f\n", x);
printf("z=%20.18f\n", z);
Run Code Online (Sandbox Code Playgroud)
会给你输出
x=3.141593
z=3.141593
x=3.141592741012573242
z=3.141592653589793116
Run Code Online (Sandbox Code Playgroud)
输出的第三行741012573242是垃圾,第四行116是垃圾.双打总是有16个有效数字,而浮点数总是有7个有效数字吗?为什么双打没有14位重要人物?
我是新手C++,我只想输出我的点数最多2位数.就像数字是3.444,那么输出应该是,3.44或者如果数字99999.4234然后输出应该是99999.42,我怎么能这样做.价值是动态的.这是我的代码.
#include <iomanip.h>
#include <iomanip>
int main()
{
double num1 = 3.12345678;
cout << fixed << showpoint;
cout << setprecision(2);
cout << num1 << endl;
}
Run Code Online (Sandbox Code Playgroud)
但它给了我一个错误,未定义的固定符号.