输出到精确的流浮点数

2024-03-03

我的浮点数精度有问题:

int main(void) {
  double b = 106.829599;
  float a = b;
  std::cerr << std::setprecision(6) << "a = " << a << "; b = " << b << std::endl;
  std::cerr << std::setprecision(7) << "a = " << a << "; b = " << b << std::endl;
}

结果是:

a = 106.83; b = 106.83

a = 106.8296; b = 106.8296

所以,我的问题是为什么第一行的数字如此短(我期望看到 106.829)

gcc 4.1.2,我也做了测试LWS http://liveworkspace.org/code/1040f80065e51e9e0e7fee838f991542


实际上,106.829599 四舍五入到 6 位(3 位小数)为 106.830,由于给予了 6 位精度,因此显示为 106.83设置精度 https://cplusplus.com/reference/iomanip/setprecision/只是一个最大值。

小数精度决定了最大位数成为 写在插入操作上以表达浮点值。

您可能正在寻找将 set precision 与fixed https://cplusplus.com/reference/ios/fixed/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

输出到精确的流浮点数 的相关文章

  • 删除文件的最后 10 个字符

    我想删除文件的最后 10 个字符 说一个字符串 hello i am a c learner 是文件内的数据 我只是希望该文件是 hello i am a 文件的最后 10 个字符 即字符串 c learner 应在文件内消除 解决方案 将
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 为什么 isnormal() 说一个值是正常的,而实际上不是?

    include
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现

随机推荐

  • Swift:生成(Swift)字符数组

    简单的问题 希望我正在尝试生成一个简单的字符数组 类似于 trying to do something like this pseudo code let letters Character map 0 lt 26 i in a i 并尝试
  • Django 中的cache.fetch?

    Django 缓存有类似Rails 的cache fetch 的方法吗 http api rubyonrails org classes ActiveSupport Cache Store html M001023 http api rub
  • 在 Objective-C 中,main 之前调用了什么?

    在 Objective C 中 main 之前调用了什么 例如 我假设 Objective C 中的所有元类都在 main 之前实例化 并且调用它们的加载 初始化方法 全局常量等 还有什么 这有记录在任何地方吗 A load作为应用程序中任
  • mail() 在新服务器上不起作用

    可能这是一个愚蠢的问题 但我找不到 php 邮件功能不起作用的原因 我在 debian squeeze 上有一个 nginx 服务器 我最近搬到了它 我尝试了简单的邮件执行 但它返回 false if mail email protecte
  • reinterpret_cast bug 还是 UB? [复制]

    这个问题在这里已经有答案了 考虑以下代码 include
  • Angular 6:无法正确设置http标头的Content-Type

    我正在尝试使用 Angular 6 中的 HttpHeader 进行后调用 并将 Content Type 设置为 application json 但服务器获取的是 x www form urlencoded 而不是 applicatio
  • ASP.Net MVC 中的 LDAP 身份验证

    我希望能够使用域用户 ID 和密码对用户进行身份验证 但默认的 ASP Net MVC 应用程序允许用户注册用户 ID 和密码然后登录 我该如何执行此操作 我不希望用户能够注册 但是 他应该能够输入他的 Windows 域用户 ID 和密码
  • 解包可选值 WKWebView 获取参数时意外发现 nil

    我在 WKWebView 上工作 当我加载没有像这样的参数的 url 时 它工作正常 func loadAddress lat Double lng Double let requestURL NSURL string http url c
  • python 装饰器 *args 和 ** kwargs

    我对编码是全新的 我一直在努力吸收尽可能多的东西 我不明白你们发布的很多技术解释 所以请尽量用简单的英语 我了解装饰器函数如何工作的机制 但我的问题是遵循代码逻辑 特别是为什么我们必须添加 args 和 kwargs 声明我们传递给带有参数
  • Visual Studio 将项目移动到不同的文件夹

    如何将项目移动到 Visual Studio 中的其他文件夹 我在项目中已经习惯了这种结构 app Project Something Project SomethingElse 我想将整个命名空间 SomethingElse 重命名为 S
  • Intent.FLAG_ACTIVITY_CLEAR_TASK 的替代方案

    我有两个应用程序 App B 启动 App A 如果用户从应用程序 A 内部启动应用程序 B 我会在应用程序 A 上调用完成 所以我没有问题 如果用户从应用程序抽屉直接进入应用程序 B 或长按主页按钮 那么我会执行以下操作 首先清除应用程序
  • 如何获取可编辑JComboBox中已写入的值?

    我继续搜索 似乎每个人都只使用JComboBox getSelectedItem 但我的组合框是editable用户可以输入anything The getSelectedItem方法返回组合框中的实际项目之一 而不是在字段中输入的字符串
  • 任务计划程序找不到文件

    我在 Windows Server 2008 R2 Standard 上有大约 20 个计划任务 他们已经工作了几周 但突然这个周末他们都停止了 这些任务都是 bat 文件和 exe 文件 通过单击资源管理器或从 cmd 运行 每个文件都可
  • 使用 DataContractJsonSerializer 将字典序列化为 JSON 对象

    我有一个 DataContract 具有一些属性并使用以下命令序列化为 JSON 的对象DataContractJsonSerializer 其中一个属性是类型Dictionary
  • 是否可以根据完整模板参数构造成员数组的元素?

    Assume template
  • 运算符=的返回类型 - 引用还是值?

    从函数 operator 返回有什么区别 by reference by value 在下面的示例中 两个版本似乎都产生了正确的结果 include
  • jSeparator 外观 - 预览设计与运行文件 (netbeans)

    我有这个小问题 我正在使用 Netbeans 当我单击 预览设计 时 我看到的 jSeparators 如下所示 但是当我运行该项目时 它是这样的 我该如何解决这个问题 我希望该项目看起来像预览设计 Thanks 当您运行窗口时 JFram
  • WPF 列表框项目不自动换行

    My ListBox其中有一个可能很长的描述字段 我不想使用水平滚动条 而是想自动换行 如果我设置它就有效MaxWidth但自从ListBox更改大小我不想对值进行硬编码 最好的方法是什么 编辑 描述位于TextBlock 简化的XAML
  • xml删除php中的子节点

    我试图通过 id 属性删除 druzenje 元素 我知道要做到这一点 我必须从该元素中删除所有子节点
  • 输出到精确的流浮点数

    我的浮点数精度有问题 int main void double b 106 829599 float a b std cerr lt lt std setprecision 6 lt lt a lt lt a lt lt b lt lt b