信息发布→ 登录 注册 退出

解析C++ 浮点数的格式化显示

发布时间:2026-01-11

点击量:
代码如下所示:
复制代码 代码如下:
    #include <stdlib.h> 
    #include <string> 
    #include <windows.h> 
    #include <stdio.h> 
    #include <iostream> 
    #include <limits> 
    #include <sstream> 
    using namespace std; 

    string do_fraction(long double val, int decplaces=3) 
    { 
        ostringstream  out; 
        char DECIMAL_POINT='.'; // 欧洲用法为',' 
        int prec=numeric_limits<long double>::digits10; // 18 
        out.precision(prec);//覆盖默认精度 
        out<<val; 
        string str= out.str(); //从流中取出字符串 
        size_t n=str.find(DECIMAL_POINT); 
        if ((n!=string::npos) //有小数点吗? 
            && (str.size()> n+decplaces)) //后面至少还有decplaces位吗? 
        { 
            str[n+decplaces]='\0';//覆盖第一个多余的数 
        } 
        str.swap(string(str.c_str()));//删除nul之后的多余字符 

        return str; 
    } 
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!