早教吧作业答案频道 -->其他-->
在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中,如何将一...的网友还看了以下:
某种化合物R在氧气中完全燃烧,生成了水和二氧化碳,由此推断R中 A.一定含有碳、氢、氧三种元素 B 2020-05-16 …
马鞍面为什么是直纹面?单叶旋转双曲面是有一条直线绕与它异面的另一条直线旋转而来,那么马鞍面呢?是如 2020-06-21 …
《少年岳飞传奇》是一部具有传奇风格的动画巨制,本片以名留千史的历史名将岳飞为主角,讲述了他如何由一 2020-07-28 …
数列求极限问题:如何由一个给出的数列的地推公式,先看出这个数列是有界的,怎么看出这个界给出的是递推 2020-08-01 …
无损分解的过程求救构造表中的a1、a2、a13,、b1、b2、b13是怎么确定的?如何由关系变化的? 2020-10-31 …
鸟类的性染色体组成为ZZ(雄性)、ZW(雌性),某种鸟有黑、灰、白三种颜色.若鸟的颜色由一对等位基因 2020-11-02 …
如何由一个点绘出一个任意两点的线,求算法,想用单片机显示器画线. 2020-11-10 …
1995年的诺贝尔医学奖由三位发育遗传学家共同获得。他们的研究揭开了胚胎如何由一个细胞发育成完美的器 2020-11-15 …
一种电工工具由一个小灯泡L和一个定值电阻R并联而成,通过L、R的电流跟其两端电压的关系如图所示.由图 2020-12-01 …
一种工具由一个小灯泡L和一个定值电阻R并联而成,通过L、R的电流跟其两端电压的关系如图所示.由图可得 2020-12-31 …