标题:如何从字符串表达式中获取小数啊
只看楼主
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: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:4 
从右到左扫描字串
2016-07-13 08:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-466861-1-1.html




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

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