编程论坛
注册
登录
编程论坛
→
C++教室
C++问题,求解
塔比特
发布于 2012-07-11 16:18, 310 次点击
01.011 365 14996540.12
依据空格判断分成三个字符串传到数组里存储,并且判断第一个字符串有没有小数点,有小数点只保留小数点后一位,没有小数点全保留,麻烦把代码写一下,先说声谢谢了
3 回复
#2
peach5460
2012-07-12 13:38
boost::split
#3
rjsp
2012-07-12 14:50
以下是引用
peach5460
在2012-7-12 13:38:01的发言:
boost::split
有这么复杂吗?
程序代码:
#include
<stdio.h>
int
main()
{
const
char
* str =
"
01.011 365 14996540.12
"
;
double
a;
int
b;
double
c;
if
(
3
== sscanf(str,
"
%lf%d%lf
"
,&a,&b,&c) )
{
a = (
int
)(a*
10
)/
10.0
;
printf(
"
%.1lf\t%d\t%lf\n
"
, a, b, c );
}
return
0
;
}
真正的问题在于“有小数点只保留小数点后一位,没有小数点全保留”这一句话,计算机中使用的是浮点数,什么“保留小数点后一位”等都是瞎扯蛋(除非自己写个可以无限精度的自定义类型)
#4
peach5460
2012-07-12 15:59
如果有库函数,干嘛不用
1