我在我的C#项目中使用DriveInfo类来检索给定驱动器上的可用字节.如何正确地将此数字转换为兆字节或千兆字节?除以1024将无法完成我的工作.结果总是与Windows资源管理器中显示的结果不同.
我有一个实用程序函数,将以适当的形式显示文件大小,如Windows资源管理器,即; 将它转换为最接近的KB,MB,GB等.我想知道我写的代码是否正确,以及它是否可以变得更简单.
我写的功能如下:
public static function formatFileSize(bytes:int):String
{
if(bytes < 1024)
return bytes + " bytes";
else
{
bytes /= 1024;
if(bytes < 1024)
return bytes + " Kb";
else
{
bytes /= 1024;
if(bytes < 1024)
return bytes + " Mb";
else
{
bytes /= 1024;
if(bytes < 1024)
return bytes + " Gb";
}
}
}
return String(bytes);
}
Run Code Online (Sandbox Code Playgroud)
虽然它目前对我有用,但我觉得它可以用更简单的方式编写,甚至可以优化.
提前致谢