把Number4096输出为String4,096

王朝vc·作者佚名  2006-01-08
宽屏版  字体: |||超大  

类别: 各种转换

题目:将一个number转换为一个string

DEMO:

输入一个number:4096000

输出string为: 4,096,000

// This function accepts a number and converts it to a

// string, inserting commas where appropriate.

PTSTR BigNumToString(LONG lNum, PTSTR szBuf) {

TCHAR szNum[100];

wsprintf(szNum, TEXT("%d"), lNum);

NUMBERFMT nf;

nf.NumDigits = 0;

nf.LeadingZero = FALSE;

nf.Grouping = 3;

nf.lpDecimalSep = TEXT(".");

[url=file://decimal][/url] nf.lpThousandSep = TEXT(",");

nf.NegativeOrder = 0;

GetNumberFormat(LOCALE_USER_DEFAULT, 0, szNum, &nf, szBuf, 100);

return(szBuf);

}

Usage:

TCHAR szBuf[50];

BigNumToString(dwPageSize, szBuf);

Definition:

// The NUMBERFMT structure contains information that defines

// the format of a number string.

// The GetNumberFormat function uses this information to customize

// a number string for a specified locale.

typedef struct _numberfmt {

UINT NumDigits;

UINT LeadingZero;

UINT Grouping;

LPTSTR lpDecimalSep;

LPTSTR lpThousandSep;

UINT NegativeOrder;

} NUMBERFMT, *LPNUMBERFMT;

// The GetNumberFormat function formats a number string as a number

// string customized for a specified locale.

int GetNumberFormat(

LCID Locale, // locale

DWORD dwFlags, // options

LPCTSTR lpValue, // input number string

CONST NUMBERFMT *lpFormat, // formatting information

LPTSTR lpNumberStr, // output buffer

int cchNumber // size of output buffer

);

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有