gpt4 book ai didi

c++ - 基于双函数的字符串的精度

转载 作者:太空宇宙 更新时间:2023-11-04 15:41:06 25 4
gpt4 key购买 nike

假设您有一个函数:

string function(){
double f = 2.48452
double g = 2
double h = 5482.48552
double i = -78.00
double j = 2.10
return x; // ***
}

* 对于 x 我们插入:

if we will insert f, function returns: 2.48
if we will insert g, function returns: 2
if we will insert h, function returns: 5482.49
if we will insert i, function returns:-78
if we will insert j, function returns: 2.1

它们只是示例,展示了 funcion() 的工作原理。准确地说:double k return 函数四舍五入为:k.XX,但对于:k=2.20它返回 2.2 作为字符串。它是如何实现的?

最佳答案

1) 仅仅因为您看到两位数,并不意味着基础值一定四舍五入为两位数。

VALUE 的精度和FORMATTED OUTPUT 中显示的位数是两个完全不同的东西。

2) 如果您正在使用 cout,您可以使用“setprecision()”控制格式:

http://www.cplusplus.com/reference/iomanip/setprecision/

示例(来自上面的链接):

// setprecision example
#include <iostream> // std::cout, std::fixed
#include <iomanip> // std::setprecision

int main () {
double f =3.14159;
std::cout << std::setprecision(5) << f << '\n';
std::cout << std::setprecision(9) << f << '\n';
std::cout << std::fixed;
std::cout << std::setprecision(5) << f << '\n';
std::cout << std::setprecision(9) << f << '\n';
return 0;
}

示例输出:

3.1416
3.14159
3.14159
3.141590000

关于c++ - 基于双函数的字符串的精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22888194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com