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

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

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

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

急...
...全文
36 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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?

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧