我如何在iOS中将每秒的位(bps)转换/计算为可读的大小格式,如10 Mbps,7 Gbps,5 Tbps,4 Pbps,3 Ebps ...等。
最佳
答案 0 :(得分:3)
Objective-C
- (NSString *)convertBitrateToHumanReadable:(long long)bytes {
NSByteCountFormatter * formatter = [[NSByteCountFormatter alloc] init];
return [formatter stringFromByteCount:bytes];
}
快速5
func convertBitrateToHumanReadable(bytes: Int64) -> String {
let formatter = ByteCountFormatter()
return formatter.string(fromByteCount: bytes)
}
如果需要,您可以每秒附加ps
(结果)。
答案 1 :(得分:0)
这是我用于转换的方法。当然,这只是我的需要。
- (NSString*)convertBitrateToHumanReadable:(NSInteger)bytes {
int i = -1;
NSArray *byteUnits = @[@"kbps", @"Mbps", @"Gbps", @"Tbps", @"Pbps", @"Ebps", @"Zbps", @"Ybps"];
do {
bytes = bytes / 1024;
i++;
} while (bytes > 1024);
if (i > 0 & bytes > 1) { // ignores kbps and only allow 2 Mbps and above
int bitSize = (int)(MAX(bytes, 0.1));
return [NSString stringWithFormat:@"%i %@", bitSize, byteUnits[i]];
} else {
return @""; // if 1 Mbps or kbps level returns empty string
}
}
希望它会帮助别人。