zoukankan      html  css  js  c++  java
  • stringstream精度问题

    今天使用stringstream输出double,当小数位数很多的时候,会丢掉一些位数,原来stringstream对象默认精度为6,而许多程序员错误地把“精度”理解为小数的位数,这是不正确的,精度应指代全部位数。因而,数字 1234.56可安全地通过默认精度6来表示,但12345.67会被截断为12345.6。这样的话,如果你有一个非常大的数,如1234567.8, 它的结果会静悄悄地转换为科学记数法:1.23457e+06,可以重新设置精度

    int prec=numeric_limits::digits10; // 18
    ostringstream out;
    out.precision(prec);//覆盖默认精度
    out<<value;
    string str= out.str(); //从流中取出字符串 数值现在存储在str中,等待格式化。

    ”以上内容引自http://blog.sina.com.cn/s/blog_4f183d960100lxh9.html

  • 相关阅读:
    TCP协议
    各相机品牌型号分类
    思科华为命令对比
    网工笔记(一)
    数学笔记
    word快捷键汇总
    请个假
    word笔记
    ScrollView不能到顶部的解决方法
    Gridview 显示成正方形
  • 原文地址:https://www.cnblogs.com/coolbear/p/2933333.html
Copyright © 2011-2022 走看看