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