标题:急啊!!sprintf(string,"%.3f",atof(string1)+atof(string2));
只看楼主
sunnyahua
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-1-12
 问题点数:0 回复次数:4 
急啊!!sprintf(string,"%.3f",atof(string1)+atof(string2));
sprintf(string,"%.3f",atof(string1)+atof(string2));
string,string1,string2是字符串,我的目的是把字符串string1和string2先转化成浮点数(小数点后面保留3位),然后再把这个结果转化成字符串,我这样做老是出错,请高手指点,急!!
搜索更多相关主题的帖子: string atof sprintf 字符 成浮 
2006-01-24 09:36
kankanba
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2005-10-24
得分:0 

1、sprintf是什么意思?

2、类型转换的时候,要用两个字节表示的数肯定只能用大于等于两个字节的空间才能表示,否则这个数就肯定不会表示正确。

2006-01-24 10:52
zushuboderen
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2005-12-24
得分:0 
budong不懂,关注中.....

冷静点............. 耐心点.............
2006-01-24 11:26
bullbatLT
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-1-13
得分:0 

你的写法没有问题,可能问题出在string变量这。可能是你定义的string变量不管是指针还是数组在使用前要初始化,并且还要保证它的大小足够能存储那个运算结果,例如:
#include "stdio.h"
#include <stdlib.h>

void main(void){
char *string;
//char string[100];
char string1[]="0.12345";
char string2[]="0.13";

string = (char*)malloc(sizeof(string));
sprintf(string,"%.3f",atof(string1)+atof(string2));
printf("%s\n",string);
string = NULL;
free(string);
}


2006-01-25 10:59
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
得分:0 
string = (char*)malloc(sizeof(string));
这句经典

淘宝杜琨
2006-01-25 11:31



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




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

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