早教吧作业答案频道 -->其他-->
在VC++6.0中,如何将一个数转化为由数字和小数点组成的字符串?如何将两个字符串合并成一个字符串?如何获取小数点的?如何将string类的字符串与char类的字符串合并?
题目详情
在VC++6.0中,如何将一个数转化为由数字和小数点组成的字符串?如何将两个字符串合并成一个字符串?
如何获取小数点的?
如何将string类的字符串与char类的字符串合并?
如何获取小数点的?
如何将string类的字符串与char类的字符串合并?
▼优质解答
答案和解析
下面这段代码就是将一个浮点数转化为字符串的:
01 #include
02 #include
03 #include
04
05 const double eps = 1e-12;
06
07 char s[30];
08
09 void reverse(char *s)
10 {
11 int i ,j;
12 int len = strlen(s);
13 for( i = 0 ,j = len - 1 ; i < j ; i++ ,j--)
14 s[i]^=s[j]^=s[i]^=s[j];
15 }
16
17 /* ftoa:convert double n to string s with digits*/
18 void ftoa(char *s,double n,int digits)
19 {
20 memset(s ,0 ,sizeof(s));
21 int i = 0 ,p;
22 bool sign = true;
23 if( n < 0 )
24 {
25 sign = false;
26 n = -n;
27 }
28 long long t = (long long)n;
29 n = n - t;
30 if( t == 0)
31 {
32 s[i++] = '0';
33 }
34 else
35 {
36 while( t != 0 )
37 {
38 p = t % 10;
39 t /= 10;
40 s[i++] = p + '0';
41 }
42 if(!sign) s[i++] = '-';
43 reverse(s);
44 }
45 if( fabs( n - 0.0 ) > eps )
46 {
47 s[i++] = '.';
48 int cur_d = 0;
49 while( cur_d < digits)
50 {
51 cur_d++;
52 n *= 10.0;
53 p = (long long)n;
54 n = n - p;
55 s[i++] = p + '0';
56 }
57 }
58 s[i] = '\0';
59 }
60
至于连个字符串合并,可以用strcat
原型
extern char *strcat(char *dest,char *src);
用法
#include
功能
把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'.
说明
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串.
返回指向dest的指针.
01 #include
02 #include
03 #include
04
05 const double eps = 1e-12;
06
07 char s[30];
08
09 void reverse(char *s)
10 {
11 int i ,j;
12 int len = strlen(s);
13 for( i = 0 ,j = len - 1 ; i < j ; i++ ,j--)
14 s[i]^=s[j]^=s[i]^=s[j];
15 }
16
17 /* ftoa:convert double n to string s with digits*/
18 void ftoa(char *s,double n,int digits)
19 {
20 memset(s ,0 ,sizeof(s));
21 int i = 0 ,p;
22 bool sign = true;
23 if( n < 0 )
24 {
25 sign = false;
26 n = -n;
27 }
28 long long t = (long long)n;
29 n = n - t;
30 if( t == 0)
31 {
32 s[i++] = '0';
33 }
34 else
35 {
36 while( t != 0 )
37 {
38 p = t % 10;
39 t /= 10;
40 s[i++] = p + '0';
41 }
42 if(!sign) s[i++] = '-';
43 reverse(s);
44 }
45 if( fabs( n - 0.0 ) > eps )
46 {
47 s[i++] = '.';
48 int cur_d = 0;
49 while( cur_d < digits)
50 {
51 cur_d++;
52 n *= 10.0;
53 p = (long long)n;
54 n = n - p;
55 s[i++] = p + '0';
56 }
57 }
58 s[i] = '\0';
59 }
60
至于连个字符串合并,可以用strcat
原型
extern char *strcat(char *dest,char *src);
用法
#include
功能
把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'.
说明
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串.
返回指向dest的指针.
看了 在VC++6.0中,如何将一...的网友还看了以下:
两个全等正三角形一个的顶点与另一个的中心重合,求重合面积与原三角形面积关系 2020-04-11 …
四个数中,如果其中两个数的积与另外两个数的积相等,这四个数就一定能组成比例.(判断对错) 2020-05-13 …
英语翻译我该把筷子插在食物里吗?()Isupposed()()mychopsticks()myfo 2020-05-14 …
在同一个圆中,如果两条弧相等,那么它们所对的弦相等吗,这是根据什么来的 2020-05-16 …
在一个圆中如何画出五角星 2020-05-16 …
共40个人,该怎么租坐8个的中巴车和坐5个人的出租车共40人,同时租坐8人的中巴车和租5人的出租车 2020-05-16 …
一批苹果平均分装在20个筐中,如果每筐多装1/9,可省下几只筐?黄气球2元3个,花气球3元2个,学 2020-05-16 …
3.在路程s(km)、速度(km/h)、时间(h)这3个量中,如果___不变,那么___是___的 2020-05-16 …
100.一批苹果平均分装在20个筐中,如果每筐多装1/9,可省下几只筐? 2020-05-20 …
在长方体的各个面中,如果有正方形,那么正方形的面数只可能有A2个B4个或6个C6个D2个或6个请具 2020-05-22 …