文件大小格式化成K、M、G的形式(BCB,__int64 -->> AnsiString)
2007-05-13 13:41
190 查看
AnsiString __fastcall FileSizeText( const __int64 FileSize )
{
__int64 mark = 1;
int i = 0;
static float result;
while ( ( result = (float)(FileSize) / mark ) > 1024.0 )
{
mark <<= 10;
if ( ++i > 3 )
break;
}
switch ( i )
{
case 1:
return "Size: " + FormatFloat( "0.00", result ) + " K";
case 2:
return "Size: " + FormatFloat( "0.00", result ) + " M";
case 3:
return "Size: " + FormatFloat( "0.00", result ) + " G";
default:
return "Size: " + AnsiString( FileSize ) + " Bytes";
}
}
{
__int64 mark = 1;
int i = 0;
static float result;
while ( ( result = (float)(FileSize) / mark ) > 1024.0 )
{
mark <<= 10;
if ( ++i > 3 )
break;
}
switch ( i )
{
case 1:
return "Size: " + FormatFloat( "0.00", result ) + " K";
case 2:
return "Size: " + FormatFloat( "0.00", result ) + " M";
case 3:
return "Size: " + FormatFloat( "0.00", result ) + " G";
default:
return "Size: " + AnsiString( FileSize ) + " Bytes";
}
}
相关文章推荐
- 解决<s:file>上传文件大小和 不能获取文件问题
- 为什么二进制文件与文本文件存入同样的数据,文件大小差异会这么大?(from <<Thinking in C++>>'s execise)
- <四> H264解码输出yuv文件
- 我的Android进阶之旅------>Java文件大小转换工具类 (B,KB,MB,GB,TB,PB之间的大小转换)
- 关于<appSettings file="app.config" >引用外部文件的配置值
- Hadoop集群0.21版本懒加载防止reduce生成空文件<转>
- 安装Win7和Ubuntu12.04双系统后,意外删除Ubuntu12.04引导文件,出现error:unknown filesystem;grub rescue>错误的解决方案
- android中对/data/data/<package name>/files下文件的读写操作
- SharePoint上传循环添加label并获取上传文件名字的扩展名和文件大小(Session["demo"] = new List<Label>();方法实现)
- struts2文件下载 <result type="stream">
- Android-->原生保存Bitmap(图片),压缩图片,创建图片缩略图和视频缩略图(任意大小)
- Node入门--6-->文件系统-创建&删除
- 用POWER DESIGNER 生成MSYQL数据库反向工程(.sql-->pdm)及由pdm生成.sql文件
- MyBatis 中mapper.xml文件中<sql>标签,<select>标签是使用
- 点云txt文件—>pcd文件
- matlab M文件菜单项中tools->Open Profiler
- <meta attribute="???">xxxx</meta>的用法 - hibernate配置文件生成java类
- android This tag and its children can be replaced by one <TextView/> and a compound drawable 布局文件提示
- 如何从DLL或者DEF文件生成LIB文件&lt;转&gt;
- 无法读取项目文件 .csproj,请确认 <Import> 声明中的路径正确,且磁盘上存在该文件