当前位置: 首页 > 知识库问答 >
问题:

C #中的浮点格式

甘学潞
2023-03-14

如何在C中格式化一个浮点数以输出到四舍五入的两位小数?我在< code>setw和< code>setprecision上运气不好,因为我的编译器告诉我它们< code >未定义。

断续器

总输出: 总计 : 12.3961

我希望它是:12.4012.39


共有3个答案

陶鸿畴
2023-03-14
匿名用户

要包含尾随零,仅设置精度是不够的。您还必须将浮点格式更改为固定格式,固定格式使用< code>setprecision告知的位数作为小数点后的位数:

std::cout << std::fixed << std::setprecision(2) << v;

在线工作示例代码

雷晋
2023-03-14

使用断续器

#include <iostream>

int main()
{
   using namespace std;

   float loge = 2.718;
   double fake = 1234567.818;
   cout << fixed;
   cout.precision(2);
   cout << "loge(2) = " << loge << endl;
   cout << "fake(2) = " << fake << endl;
   cout.precision(3);
   cout << "loge(3) = " << loge << endl;
   cout << "fake(3) = " << fake << endl;
}

此输出为(注意舍入):

loge(2) = 2.72
fake(2) = 1234567.82
loge(3) = 2.718
fake(3) = 1234567.818

这是简单版本。代替使用

江瀚昂
2023-03-14

您需要包含

#include <iomanip>
std::setw(2)
std::setprecision(5)

尝试:

cout.precision(5);
cout << "Total : " << setw(4)   << floor(total*100)/100 << endl;

 cout << "Total : " << setw(4)   << ceil(total*10)/10 << endl;

iostream提供了precision函数,但要使用setw,可能需要包含额外的头文件

 类似资料:
  • 本文向大家介绍DSP中浮点转定点运算--浮点数的存储格式,包括了DSP中浮点转定点运算--浮点数的存储格式的使用技巧和注意事项,需要的朋友参考一下 二:浮点数的存储格式 2.1 IEEE floating point standard   上面我们说了,浮点数的小数点是不固定的,如果每个人都按照自己的爱好存储在电脑里,那不就乱套了吗?那么怎么在计算机中存储这种类型的数字呢?象这类古老的问题前人早都

  • 如何从bash脚本中获得正确的结果? 结果我得到!因此,我尝试使用这些,但没有成功:

  • 问题内容: 我有一个类型的变量,我需要以不超过3个小数的精度打印它,但是它不应该有任何结尾的零… 例如。我需要 我尝试使用,我做错了吗? 谢谢。:) 问题答案: 尝试使用模式代替: 输出:

  • 此代码给出输出ELSE 此代码给出的输出是: 虽然两个程序看起来都一样,但为什么输出有差异呢?为什么会这样?

  • 我正在纠结于一个基本的浮点精度问题。问题就在这里: 运行代码得到“否”

  • 为什么浮点数据类型的精度不与其大小成正比增长?例如: 正如您所看到的,的精度大约是精度的两倍,这是有意义的,因为的大小是。 但这与双精度和长双精度的情况不同,长双精度的大小是128位,是64位双精度的两倍,但其精度只多出三位!! 我不知道浮点数是如何实现的,但从理性的角度来看,仅为三位精度使用64位内存是否有意义?! 我四处搜索,但没有找到一个简单明了的答案。如果有人能解释为什么长双精度只比双精度