类别: 各种转换
题目:将一个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(".");
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 );

|