我想NSLog
兆的數量我NSData
對象然而目前所有我能得到的是字節使用從字節轉換NSData的長度,以兆
NSLog(@"%u", myData.length);
那麼我將如何改變這個NSLog
聲明,所以我可以看到類似於
2.00 megs
任何幫助,將不勝感激。
我想NSLog
兆的數量我NSData
對象然而目前所有我能得到的是字節使用從字節轉換NSData的長度,以兆
NSLog(@"%u", myData.length);
那麼我將如何改變這個NSLog
聲明,所以我可以看到類似於
2.00 megs
任何幫助,將不勝感激。
有1024個字節的千字節和兆字節1024千字節,所以......
NSLog(@"File size is : %.2f MB",(float)myData.length/1024.0f/1024.0f);
你要知道,這是一個簡單的方法是不能真正正確適應字節大小低於1,048,576字節或超過1,073,741,823字節。對於可以處理不同的文件大小更完整的解決方案,請參閱:ObjC/Cocoa class for converting size to human-readable string?
或爲OS X 10.8+和iOS 6+
NSLog(@"%@", [[NSByteCountFormatter new] stringFromByteCount:data.length]);
在斯威夫特:
print(ByteCountFormatter().string(fromByteCount: Int64(data.count)))
很酷,感謝一羣工作..我感到困惑的想法,我必須有括號等,但這完美的工作! :) – HurkNburkS
如果你需要顯示給用戶,那麼不要使用字符串格式。相反,使用NSNumberFormatter。這將格式化用戶的區域設置。 – rmaddy
快速和手。這很有幫助 – Alix
對於斯威夫特3,在Mb中:
let countBytes = ByteCountFormatter()
countBytes.allowedUnits = [.useMB]
countBytes.countStyle = .file
let fileSize = countBytes.string(fromByteCount: Int64(dataToMeasure!.count))
print("File size: \(fileSize)")
我該如何格式化它,以便在它後面出現兩個小數位。 – HurkNburkS