数据类型转换后,进行算术运算。

nonplus 2007-04-24 04:06:29
上午发了个帖 问到“我要将一个字符串 char a[10];
a=1325;
我想将1325变成13.25怎么实现?”
已经实现了
void main( void )

{
char a[10]="1325";
int i;

i=atoi(a);
sprintf(a, "%.2f", i/100.0);
printf("%s",a);
}

可是现在我用a的值,进行计算,我尝试了几种方法都不行,
void main( void )

{
char a[10]="1325";
int i;
float j;

i=atoi(a);
sprintf(a, "%.2f", i/100.0);

j=atof(a);
a=j*5.20;
printf("%s",a);
}

这个不行,不知道为什么。
...全文
226 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nonplus 2007-04-24
  • 打赏
  • 举报
回复
这下终于明白了

void main( void )

{
char a[10]="1325";
int i;

i=atoi(a);
sprintf(a, "%.2f", i/100.0*5.20);


printf("%s",a);



}
nonplus 2007-04-24
  • 打赏
  • 举报
回复
哦,明白了,我试下。
taodm 2007-04-24
  • 打赏
  • 举报
回复
什么叫a乘以5.20?你直接还用前面的那个i来继续运算不就完了嘛。
nonplus 2007-04-24
  • 打赏
  • 举报
回复
void main( void )

{
char a[10]="1325";
int i;
float j;

i=atoi(a);
sprintf(a, "%.2f", i/100.0);

//这个地方我希望a能够乘以5.20,最终显示出来。哪位朋友帮忙解决下。
}

nonplus 2007-04-24
  • 打赏
  • 举报
回复
散人 你的 j的值从何而来?
float f = j * 5.20;
sprintf(a, "%f", f);
ouyh12345 2007-04-24
  • 打赏
  • 举报
回复
a=j*5.20;
a是char[],不能转换成float

float f = j * 5.20;
sprintf(a, "%f", f);

64,687

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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