将 NSFileSystemSize 转换为 GB

发布于 2024-09-01 07:00:12 字数 408 浏览 6 评论 0原文

我需要将 NSFileSystemSize 转换为千兆字节。

NSDictionary * fsAttributes = [ [NSFileManager defaultManager]
       fileSystemAttributesAtPath:NSTemporaryDirectory()];
NSNumber *totalSize = [fsAttributes objectForKey:NSFileSystemSize];
NSString *sizeInGB = [NSString stringWithFormat:@"\n\n %3.2f GB",[totalSize floatValue] / 107374824];

//returns 69.86 GB

有什么想法为什么它不返回至少 8.0GB 的吗?

I need to convert NSFileSystemSize to Gigabytes.

NSDictionary * fsAttributes = [ [NSFileManager defaultManager]
       fileSystemAttributesAtPath:NSTemporaryDirectory()];
NSNumber *totalSize = [fsAttributes objectForKey:NSFileSystemSize];
NSString *sizeInGB = [NSString stringWithFormat:@"\n\n %3.2f GB",[totalSize floatValue] / 107374824];

//returns 69.86 GB

any ideas why it doesnt return at leat 8.0GB's?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

白芷 2024-09-08 07:00:12

作为一个尼特,1024 * 1024 * 10241073741824,而不是 107374824(您在千位上缺少了 1。)

As a nit, 1024 * 1024 * 1024 is 1073741824, not 107374824 (you're missing a 1 in the thousands place.)

街角迷惘 2024-09-08 07:00:12
- (NSString *)formattedFileSize:(unsigned long long)size
{
    NSString *formattedStr = nil;
    if (size == 0)
        formattedStr = @"Empty";
    else
        if (size > 0 && size < 1024)
            formattedStr = [NSString stringWithFormat:@"%qu bytes", size];
        else
            if (size >= 1024 && size < pow(1024, 2))
                formattedStr = [NSString stringWithFormat:@"%.1f KB", (size / 1024.)];
            else
            if (size >= pow(1024, 2) && size < pow(1024, 3))
                formattedStr = [NSString stringWithFormat:@"%.2f MB", (size / pow(1024, 2))];
            else
                if (size >= pow(1024, 3))
                    formattedStr = [NSString stringWithFormat:@"%.3f GB", (size / pow(1024, 3))];

    return formattedStr;
}
- (NSString *)formattedFileSize:(unsigned long long)size
{
    NSString *formattedStr = nil;
    if (size == 0)
        formattedStr = @"Empty";
    else
        if (size > 0 && size < 1024)
            formattedStr = [NSString stringWithFormat:@"%qu bytes", size];
        else
            if (size >= 1024 && size < pow(1024, 2))
                formattedStr = [NSString stringWithFormat:@"%.1f KB", (size / 1024.)];
            else
            if (size >= pow(1024, 2) && size < pow(1024, 3))
                formattedStr = [NSString stringWithFormat:@"%.2f MB", (size / pow(1024, 2))];
            else
                if (size >= pow(1024, 3))
                    formattedStr = [NSString stringWithFormat:@"%.3f GB", (size / pow(1024, 3))];

    return formattedStr;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文