gpt4 book ai didi

cocoa - 获取 Mac OS X 中的本地化文件大小

转载 作者:行者123 更新时间:2023-12-03 16:55:49 24 4
gpt4 key购买 nike

我在 (unsigned long long) 变量中获得了以字节为单位的文件大小。是否有标准方法将其转换为带有本地化单位的字符串?

我知道这些解决方案:

NSString * stringFromFileSize( FileSize theSize )
{
float floatSize = theSize;
if (theSize<1023)
return ([NSString stringWithFormat:@"%i bytes",theSize]);
floatSize = floatSize / 1024;
if (floatSize<1023)
return ([NSString stringWithFormat:@"%1.1f KB",floatSize]);
floatSize = floatSize / 1024;
if (floatSize<1023)
return ([NSString stringWithFormat:@"%1.1f MB",floatSize]);
floatSize = floatSize / 1024;

return([NSString stringWithFormat:@"%1.1f GB",floatSize]);
}

但它在法语中不起作用,其中使用“八位字节”而不是字节(并且单位中的所有 B 都必须替换为“o”)。我搜索了 CFLocalGetValue,查看了我所知道的所有格式化方法,但没有成功,那么是否有任何隐藏的方法/函数可以帮助我?我可以设法手动构建一些东西,但我宁愿避免它。

最佳答案

听起来像是 NSLocalizedString 的工作。您可以向法语本地化添加条目(在 Localized.strings 中):

"bytes" = "octets";
"KB" = "Ko";
"MB" = "Mo";
"GB" = "Go";

然后使用:

return [NSString stringWithFormat:@"%i %@", theSize, NSLocalizedString(@"bytes", nil)];

为了更具体地回答这个问题,我不知道有任何 Cocoa 函数可以处理这些转换。

关于cocoa - 获取 Mac OS X 中的本地化文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3806842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com