| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1690 人关注过本帖
标题:如何从字符串表达式中获取小数啊
只看楼主 加入收藏
bh215124334
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-6-26
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:3 
如何从字符串表达式中获取小数啊
例如1.245+1.99×3.45
我用的这个方法
程序代码:
float b=atof(&str[i]);//小数处理 
if(b-int(b)!=0) i++;
while(b-int(b)!=0)
{
    b*=10;
    i++;
}

小数只有一位的时候还算有效。但是当判断小数1.99的时候,b的值被赋成了1.98999999.。。。。。。。。。。。
后来试了好几种不同的情况,但是有时正常有时不正常。
很不稳啊,,,,,
有没有大神给推荐一点好方法,顺表告诉我一下这个是哪里出问题了
搜索更多相关主题的帖子: 表达式 字符串 如何 
2016-07-12 15:07
平常心q
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:120
专家分:550
注 册:2016-3-31
收藏
得分:4 
能把完整的代码贴出来吗,这样可以知道你的问题所在,会更好地帮助你的

方法:
定义字符数组用来存储字符串
定义浮点数赋值,如:double d=1.23456;
用sprintf()的%.2f格式截取浮点数的小数位,第三位四舍五入
输出结果验证
2016-07-12 18:00
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
收藏
得分:4 
按要求写一份还行,按你给的这些代码找出问题所在真做不到。
2016-07-12 21:20
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:4 
从右到左扫描字串
2016-07-13 08:56
快速回复:如何从字符串表达式中获取小数啊
数据加载中...
 
   



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

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