首页 > 编程语言 >c++ double进行精度截取 (转)

c++ double进行精度截取 (转)

时间:2024-04-18 22:45:19浏览次数:26  
标签:multiprecision double 截取 float c++ cpp dec boost

使用boost/multiprecision/cpp_dec_float.hpp

 

#include <boost/multiprecision/cpp_dec_float.hpp>

using boost::multiprecision::number;
using boost::multiprecision::cpp_dec_float_50;


int main()
{
    cpp_dec_float_50 v1("5726.867366095");    // 为防止精度丢失,只能以字符串形式赋值,
    cpp_dec_float_50 v2("5837.754018494999"); // 否则就是把错误的值赋给了对象,初值就错了
    const int64_t N = pow(10, 8);
    double newV1 = (int64_t)round(v1 * N) / double(N);
    double newV2 = (int64_t)round(v2 * N) / double(N);
    printf("%.8f\n", newV1);
    printf("%.8f\n", newV2);
}

 

标签:multiprecision,double,截取,float,c++,cpp,dec,boost
From: https://www.cnblogs.com/zl1991/p/18144697

相关文章

  • C++ 类方法解析:内外定义、参数、访问控制与静态方法详解
    C++类方法类方法,也称为成员函数,是属于类的函数。它们用于操作或查询类数据,并封装在类定义中。类方法可以分为两种类型:类内定义方法:直接在类定义内部声明和定义方法。类外定义方法:在类定义内部声明方法,并在类外部单独定义方法。类内定义方法在类定义内部可以直接声明和......
  • [10] UE C++ 拓展知识
    SaveGame//--USnakeSaveGame.hUCLASS()classSNAKE_APIUSnakeSaveGame:publicUSaveGame{GENERATED_BODY()public:UPROPERTY()int32GameScore;UPROPERTY()FStringName;UPROPERTY()TArray<int32>Numbers;FStringSlotName;......
  • Qt 6.5.5 链接和QML与C++交互的若干问题
    需求描述QtQuick开发桌面组件,使用讯飞API(提供头文件、静态库、动态库),希望部署到Windows平台,在QtCreator开发。QML与C++交互主要参考:QML与CPP,https://blog.csdn.net/gongjianbo1992/article/details/87965925另有参考:信号与槽,https://blog.csdn.net/ifeng12358/article/detai......
  • 深入分析C++对象模型之移动构造函数
    接下来我将持续更新“深度解读《深度探索C++对象模型》”系列,敬请期待,欢迎关注!也可以关注公众号:iShare爱分享,自动获得推文和全部的文章列表。C++11新标准中最重要的特性之一就是引入了支持对象移动的能力,为了支持移动的操作,新标准引入了一种新的引用类型——右值引用,右值引用一......
  • C++ - 中必须使用初始化列表初始化的四种情况
    1.必须使用初始化列表初始化一个引用成员;classCBase{public:CBase(inta):m_a(a)//正确,m_a是一个变量的引用,必须通过初始化列表初始化{//m_a=a;//错误cout<<"m_a:"<<m_a<<endl;}public:int&m_a;}; 2.......
  • C++实现string存取二进制数据的方法
    这篇文章主要介绍了C++实现string存取二进制数据的方法,针对STL中string的用法进行了较为详细的分析,需要的朋友可以参考下 本文实例讲述了C++实现string存取二进制数据的方法,分享给大家供大家参考。具体方法分析如下:一般来说,STL的string很强大,用起来也感觉很舒服,这段时间在......
  • 【字符编码】c++编码格式及转换
    参考资料:字符编码笔记:ASCII,Unicode和UTF-8通俗易懂wstring和string的区别wstring和string是C++中的两种字符串类型,它们的主要区别在于字符编码和存储方式。字符编码:string使用单字节字符编码,通常使用ASCII编码或其扩展(如UTF-8)。wstring使用宽字符编码......
  • c++ std::string能否存储二进制字符以及'\0'字符?
    c++的字符串类std::string能否存储二进制字符以及字符'\0'?要解决这个问题,我们首先要了解c++的std::string的存储结构。(注意不同的平台下C++规范对std::string的实现不完全一致,例如sizeof(std::string)在linuxx64gcc-4.4下的输出是8,而在macgcc4.2下的输出是24;这篇文章以Li......
  • Qt/C++音视频开发70-无感切换通道/无缝切换播放视频/多通道流畅切换/不同视频打开无缝
    一、前言之前就写过这个方案,当时做的是ffmpeg内核版本,由于ffmpeg内核解析都是代码实现,所以无缝切换非常完美,看不到丝毫的中间切换过程,看起来就像是在一个通道画面中。其实这种切换只能说是取巧办法,最佳的办法应该是公用一个openglwidget窗体,解码线程那边开两个,第二个解码线程打开......
  • 2024蓝桥杯省赛C/C++程序设计A组题目简析
    2024蓝桥杯省赛C/C++程序设计A组题目简析A题意:计算一段区间内日期的中文表达的总笔画数>50的天数按照题意枚举即可。注意个位数字前面需要加一个“零”,也就是多13笔。B题意:\(5\times5\)的棋盘下五子棋,最终下满棋盘并和棋的情况数dfs或者遍历二进制去枚举棋子位置的情况均可......