提问人:user21037758 提问时间:1/19/2023 最后编辑:user21037758 更新时间:1/20/2023 访问量:97
如何将十进制添加到具有非十进制值的浮点数 [已关闭]
How to add decimal to floating point number with non-decimal value [closed]
问:
我有以下程序,我希望输出为 10.0,我必须在函数乐趣中添加
哪一行代码,以便我有想要的输出。
#include<bits/stdc++.h>
using namespace std;
float fun(float a)
{
return a;
}
int main()
{
float a = 10;
cout << fun(a);
return 0;
}
我尝试使用 setprecision(),但它经常与 cout 一起使用。返回输出时如何使用它?我被困在这里。
答:
3赞
john
1/19/2023
#1
没有什么可以阻止这一点
float fun(float a)
{
cout << fixed << setprecision(1);
return a;
}
但对于一个愚蠢的谜题来说,这是愚蠢的代码。这与实际编程有什么关系?
评论
0赞
user21037758
1/20/2023
@john 谢谢你的回答。实际上,我不知道在返回输出的情况下如何使用setprecision()。此外,这不是愚蠢的代码。我知道这与真正的编程无关。我包含它是为了解决将值为 10 的浮点变量转换为 10.0(带十进制)的问题。这只是为了澄清我的问题。
0赞
user229044
1/20/2023
@user21037758 正如其作者所承认的那样,这是一个可怕的解决方案,您不应该认为您的问题已“解决”。任何人都不应该使用这个代码,你需要重新考虑你的需求,因为它们没有意义。你有一个具有奇怪副作用的函数。现在被打破了,产生了令人惊讶的、不正确的结果,同时也发生了变化。您需要返回格式化的字符串。fun(3); std::cout << 1.23
std::cerr << fun(3)
cout
fun
0赞
john
1/20/2023
@user21037758 您可能会混淆变量的打印方式以及变量的值。该变量的值始终为 10.0,或者换句话说,10.0 和 10 是相同的值。 对变量不做任何操作,也不对函数返回的方式做任何事情。它所做的是更改打印浮点值的方式,并且由于该更改是全局的,因此在函数返回后它仍然有效,a
setprecision
a
a
cout
评论
std::fixed
。a
fun
fun
std::string
#include <bits/stdc++.h>
using namespace std;
std::fixed