我有以下功能(在 PHP 中):
function FormatSize( $size ) {
$size = intval( $size );
$idx = 0;
$prefixes = array( "", "Ki", "Mi", "Gi", "Ti", "Pi" );
while( $size > 1024 ) {
$size = $size / 1024;
$idx++;
}
return sprintf( "%03.2f %sB", $size, $prefixes[$idx] );
}
以及lua中的以下内容
function GetSize( iSize )
local iSizeTemp, sPrefix, i = tonumber(iSize) or 0, {"", "Ki", "Mi", "Gi", "Ti", "Pi"}, 1
while iSizeTemp > 1024 do
iSizeTemp, i = iSizeTemp/1024, i+1
end
return string.format( "%03.2f %sB", iSizeTemp, sPrefix[i] )
end
return 语句使用%03.2f
which 应该以PQR.XY
格式返回输出,其中P
或Q
两者都可以为零。
但是我得到了一个简单的输出(与 相同%.2f
),而填充部分 ( %03
) 似乎没有任何效果。以下是代码板链接(用于 PHP和Lua)的示例;我将一个数字1285854482传递给函数。输出1.20 GiB
代替001.20 GiB
.