Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3976160
  • 博文数量: 408
  • 博客积分: 10227
  • 博客等级: 上将
  • 技术积分: 9820
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-17 21:48
个人简介

非淡泊无以明志,非宁静无以致远

文章存档

2022年(1)

2021年(1)

2020年(2)

2019年(5)

2018年(4)

2017年(3)

2016年(24)

2015年(8)

2014年(7)

2013年(3)

2012年(1)

2011年(23)

2010年(179)

2009年(147)

分类:

2009-09-01 22:15:32

 1.CTime--〉CString
 CTime t;
 t=CTime::GetCurrentTime();
 CString sur;
 sur.Format("%s",t.Format("%Y-%m-%d"));
 MessageBox(sur);

2.long --> CString
long a ;
CString b;
b.format("%ld",a);

3.double --->CString
double a;
CString b;
b.format("%f",a);

 4.CString--〉CTime

 CString sur;
 sur="2006-08-09";
 COleDateTime time1;
 time1.ParseDateTime(sur);
 SYSTEMTIME systime;
 VariantTimeToSystemTime(time1, &systime);
 CTime tm(systime);
 m_time=tm;
 UpdateData(false);
 

5.CString和int,float之间的转换。

5.1 int <->CString

1) int ->CString

int n = 1;

CString str;

str.Format("%d",n);

2) CString->int

CString str = "1";

int n = atoi(str.GetBuffer(0));

5.2 char* 与CString

1)char*->CString

char sz[128];

CString str;

str.Format("%s",sz);

2) CString -> char*

CString str;

int nLength = str.GetLength();

char* sz = new char[nLength];

sz = str.GetBuffer(0);

5.3 float<->CString

1)float->CString

float f = 0.0;

CString str;

str.Format("%f",f);

2) CString->float

CString str = "0.0";

float f = atof(str.GetBuffer(0));


Format函数第一个参数是要转的那个数的类型

我现在的程序是
int a = 21;
double b = 3.45;
CString str;
str.Format("%03d%02.4f" , a , b);
现在得到的结果是"0213.4500"
%02.4f对b的整数部分不起作用
我想要得到一个形如aaabb.bbbb的字符串("02103.4500"),如果a不足3位,用0补齐,如果b的整数和小数不足2位和4位也要用0补齐

CString::Format("%d",xx);其中xx不能为双精度,不然会转化错误,应该使用CString::Format("%d",(LONG)xx);
例:
DOUBLE d = 22.443;
CString str;
str.Format("%d", d);转化后的str = "1924145349",这是错误的!

阅读(3177) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~