|
LONGLONG filesize= getsizeoffile(lpcfilename);
if (filesize)
{
TCHAR szfilesize[128] = { 0 };
long double ldfilesize = 0;
filesize = (long double)filesize;
if (filesize % (1024 * 1024*1024)!=0)
{
ldfilesize = filesize / (1024 * 1024*1024);
swprintf_s(szfilesize, _T("文件的大小是:%.2lf GB"), ldfilesize);//格式化输出文件大小
MessageBox(NULL, szfilesize, _T("提示:"), MB_YESNO);
}
else {
ldfilesize /= 1024 * 1024;
swprintf_s(szfilesize, _T("文件的大小是:%.2lf MB"), ldfilesize);//格式化输出文件大小
MessageBox(NULL, szfilesize, _T("提示:"), MB_YESNO);
}
}
为什么 好像只有整数部分对 其他的这么都没有了 精度丢失 数据类型用错了吗
这样就可以了!
- LONGLONG filesize = getsizeoffile(lpcfilename);
- if (filesize)
- {
- TCHAR szfilesize[128] = { 0 };
- long double ld_filesize = 0;
- ld_filesize = (long double)filesize;
- if (filesize > (1024 * 1024 * 1024))
- {
- ld_filesize = ld_filesize / (1024 * 1024 * 1024);
- swprintf_s(szfilesize, _T("文件的大小是:%.2lf GB"), ld_filesize);//格式化输出文件大小
- MessageBox(NULL, szfilesize, _T("提示:"), MB_OK);
- }
- else
- {
- ld_filesize /= 1024 * 1024;
- swprintf_s(szfilesize, _T("文件的大小是:%.2lf MB"), ld_filesize);//格式化输出文件大小
- MessageBox(NULL, szfilesize, _T("提示:"), MB_OK);
- }
- }
复制代码
|
上一篇: 关于自己使用字符数组编写一个函数实现strcat函数下一篇: accelerator 响应函数没被调用
|