一个字符串转换的问题,请见内 ...

jourmen IBM 架构师  2003-10-08 01:56:23
我的字符串是这样的
如:char a[6]=123.45
现在需要把a转换为long类型的,怎么做呢?

用atol是实现不来的,它忽略了0.45,只是返回123

怎么做呢?数据交互的,小数是不可以忽略的,是钱啊!

急...
...全文
2 点赞 收藏 17
写回复
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
CGhost 2003-10-14
用sscanf不就好了
回复
flashsj 2003-10-11
up
回复
Spacesoft 2003-10-11
用sprintf 和 sscanf 嘛,何必那么麻烦?
回复
Skt32 2003-10-11
atof
回复
playboyxp 2003-10-10
为什么不用double或者float?
回复
xunfengxxx 2003-10-10
shi yun le ba
回复
Wolf0403 2003-10-09
atof 是标准库,不需要自己编译,所有编译器都有^_^
一切从最简单的方法入手,因为编程是用来解决问题的^_^
回复
abcsdk 2003-10-09
如果小数位数不固定,就先获得小数的位数,在乘以10的n次幂。
赋给long,用的时候除以10的n次幂。
回复
meteorlg 2003-10-09
乘以100赋给long,用的时候除以100
回复
cxjddd 2003-10-08
boost 那么优美,还用 atof 干什么?
回复
Wolf0403 2003-10-08
能用 atof,何必惊动 boost? 呵呵
回复
lemon520 2003-10-08
对呀!long 怎么可以处理小数点呢!
atof 可以的!
回复
rogear 2003-10-08
用long能处理小数点的吗?用float吧,或者直接用分为单位作
回复
JetGeng 2003-10-08
你可以使用boost库来实现
#include <boost/lexical_cast.hpp>


std::string temp("12.45");
float ltemp;
ltemp = boost::lexical_cast<float>(temp);
这行结果ltemp= 12.4500
boost库可以在boost.org处下载
回复
Wolf0403 2003-10-08
double atof(
const char *string
);
呵呵,用 double 处理。或者用分作为单位处理。
long 能处理的,可不是上千万了^_^
回复
liao2001 2003-10-08
不想要小数点,又想处理起来方便,用人民币的最小单位不就ok了,至于溢出的问题,我想可以不考虑,因为上千万的交易你应该用不到吧?
回复
liao2001 2003-10-08
既然知道是钱,为什么还要用long?
回复
发动态
发帖子
工具平台和程序库
创建于2007-09-28

2.4w+

社区成员

C/C++ 工具平台和程序库
申请成为版主
社区公告
暂无公告