| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2196 人关注过本帖
标题:自己实现float/double转字符串问题
取消只看楼主 加入收藏
Escapist
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2020-4-27
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:5 
自己实现float/double转字符串问题
自己写了一个double/float转字符串的函数,EspString是我自己写的一个动态字符串类,可以理解为MFC的CString
代码
程序代码:
    static void ToString(double DoubleValue, EspString& StringValue)
    {
        StringValue.Empty();
        if (DoubleValue == 0.0)
        {
            StringValue.Append('0');
            return;
        }
        bool IsNeg = DoubleValue < 0;
        if (IsNeg)DoubleValue = -DoubleValue;
        while (DoubleValue >= 1)
        {
            StringValue.Append(((int)DoubleValue % 10) + 48);
            DoubleValue /= 10;
        }
        if (IsNeg)
            StringValue.Append('-');
        StringValue.Reverse();
        if (DoubleValue == 0.0)
            return;
        StringValue.Append('.');
        while (DoubleValue != 0)
        {
            DoubleValue *= 10;
            StringValue.Append(((int)(DoubleValue) % 10) + 48);
        }
    }

但是启动了之后没有任何反应,而且过了很长时间报错——0x7646A6F2 处(位于 ***.exe 中)有未经处理的异常: Microsoft C++ 异常: char,位于内存位置 0x0118FE88 处。
请问到底是怎么回事呢?有什么方式来避免呢?谢谢各位大佬~~
搜索更多相关主题的帖子: float double return 字符串 Append 
2021-07-05 21:30
Escapist
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2020-4-27
收藏
得分:0 
Empty——清空字符串,等同于memset(Buffer,0,StrLen)(Buffer和StrLen是内部的变量)
Append——在后加字符/字符串,会监测Buffer大小,可自动拓展
2021-07-05 21:32
Escapist
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2020-4-27
收藏
得分:0 
回复 3楼 rjsp
看来我学的还是太少了啊,您能说的再详细,推荐一些视频或书籍吗?

这是我最基本的想实现的,后期肯定要加inf或者nan的,这个我知道......
不过我听说double没有填满的部分可能会有一些伪随机数什么的,不过不太清楚......

不过还是谢谢您了~
2021-07-06 17:22
Escapist
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2020-4-27
收藏
得分:0 
回复 4楼 我善治鬼
我没懂您的意思???
2021-07-06 17:22
Escapist
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2020-4-27
收藏
得分:0 
回复 3楼 rjsp
或者说您感觉什么样水平的人会犯这样的错呢?我也很想提高自己~
2021-07-06 17:27
Escapist
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2020-4-27
收藏
得分:0 
回复 3楼 rjsp
我将来还是蛮想在这方面发展的,对计算机相关的(尤其软件)很感兴趣......(高中生)
2021-07-06 17:39
快速回复:自己实现float/double转字符串问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017592 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved