VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 94|回复: 3

[已解决]第八课 保留两位小数问题

[复制链接]
86_avatar_middle
最佳答案
0 
在线会员 发表于 2020-4-2 23:11:34 | 显示全部楼层 |阅读模式
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);
                }
        }

为什么 好像只有整数部分对   其他的这么都没有了   精度丢失  数据类型用错了吗
最佳答案
77_avatar_small
2020-4-2 23:25:43
这样就可以了!

  1. LONGLONG filesize = getsizeoffile(lpcfilename);
  2. if (filesize)
  3. {
  4.         TCHAR szfilesize[128] = { 0 };
  5.         long double ld_filesize = 0;
  6.         ld_filesize = (long double)filesize;
  7.         if (filesize > (1024 * 1024 * 1024))
  8.         {
  9.                 ld_filesize = ld_filesize / (1024 * 1024 * 1024);
  10.                 swprintf_s(szfilesize, _T("文件的大小是:%.2lf GB"), ld_filesize);//格式化输出文件大小
  11.                 MessageBox(NULL, szfilesize, _T("提示:"), MB_OK);
  12.         }
  13.         else
  14.         {
  15.                 ld_filesize /= 1024 * 1024;
  16.                 swprintf_s(szfilesize, _T("文件的大小是:%.2lf MB"), ld_filesize);//格式化输出文件大小
  17.                 MessageBox(NULL, szfilesize, _T("提示:"), MB_OK);
  18.         }
  19. }
复制代码




上一篇:关于自己使用字符数组编写一个函数实现strcat函数
下一篇:accelerator 响应函数没被调用
77_avatar_middle
最佳答案
31 
online_vip 发表于 2020-4-2 23:25:43 | 显示全部楼层    本楼为最佳答案   
这样就可以了!

  1. LONGLONG filesize = getsizeoffile(lpcfilename);
  2. if (filesize)
  3. {
  4.         TCHAR szfilesize[128] = { 0 };
  5.         long double ld_filesize = 0;
  6.         ld_filesize = (long double)filesize;
  7.         if (filesize > (1024 * 1024 * 1024))
  8.         {
  9.                 ld_filesize = ld_filesize / (1024 * 1024 * 1024);
  10.                 swprintf_s(szfilesize, _T("文件的大小是:%.2lf GB"), ld_filesize);//格式化输出文件大小
  11.                 MessageBox(NULL, szfilesize, _T("提示:"), MB_OK);
  12.         }
  13.         else
  14.         {
  15.                 ld_filesize /= 1024 * 1024;
  16.                 swprintf_s(szfilesize, _T("文件的大小是:%.2lf MB"), ld_filesize);//格式化输出文件大小
  17.                 MessageBox(NULL, szfilesize, _T("提示:"), MB_OK);
  18.         }
  19. }
复制代码

评分

参与人数 1驿站币 +1 热心值 +1 收起 理由
86_avatar_small star0angel + 1 + 1 很给力!谢谢

查看全部评分

08_avatar_middle
最佳答案
0 
在线会员 发表于 2020-4-3 17:42:19 | 显示全部楼层
小白表示看不懂
86_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-4-4 11:59:15 | 显示全部楼层
suger 发表于 2020-4-3 17:42
小白表示看不懂

我也是跟着老师课程慢慢在学
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-6-2 03:10

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表