早教吧作业答案频道 -->其他-->
在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中,如何将一...的网友还看了以下:
我要测量220v交流电压下用电器消耗的电量并以数字信号给51单片机并显示在显示屏最好能提供电路和程 2020-05-13 …
将正整数1,2,3.n,交换次序重新排列成一串数a1,a2.,an,使得任意连续三项之和,都能被这 2020-05-15 …
通过8250发送数据时,按照发送的要求,将发送的并行数据变成串行数据,并添加起始位、校验位(可选)、 2020-05-24 …
某种数字化的信息传输中,先将信息转化为数学0和1组成的数字串,并对数字串进行了加密后再传输.现采用 2020-07-09 …
将两个220V60W的白炽灯串联接在家庭电路中,两灯发光的总功率为(),改为并联呢?将两个220V 2020-07-20 …
有一个包含了n个字符的字符串.编写一个函数,将此字符串从头开始共m个字符作为一个子字符串复制到另一个 2020-11-07 …
1.实验目的:2.实验原理:3.实验设备:4.5.实验数据记录及分析(或程序及运行结果):实验一字符 2020-11-07 …
某同学做实验时,需要一个阻值为5欧姆的电阻,但手边只有一些阻值为10欧姆的电阻,)A.将2个10欧的 2020-11-29 …
结果总是9的数学问题原因?随意写一串数字例如1098547566然后把这串数字倒一下变成665745 2020-12-06 …
某种数字化的信息传输中,先将信息转化为数学0和1组成的数字串,并对数字串进行了加密后再传输.现采用一 2020-12-23 …