以MB为单位的ByteCountFormatter,结果以逗号(,)代替点号(.)返回。

问题描述 投票:0回答:1

我使用这个图片扩展来计算图片的大小,单位是MB。而且我得到的图像大小是用逗号(,)而不是点(.)来表示,比如 "1,7 MB"

extension UIImage {        
    func getFileSizeInfo(allowedUnits: ByteCountFormatter.Units = .useMB,
                         countStyle: ByteCountFormatter.CountStyle = .file) -> String? {
        let formatter = ByteCountFormatter()
        formatter.allowedUnits = allowedUnits
        formatter.countStyle = countStyle
        return getSizeInfo(formatter: formatter)
    }

    func getSizeInfo(formatter: ByteCountFormatter, compressionQuality: CGFloat = 1.0) -> String? {
        guard let imageData = jpegData(compressionQuality: compressionQuality) else { return nil }
        return formatter.string(fromByteCount: Int64(imageData.count))
    }
}

方法调用。

var imageSizeInMB = image.getFileSizeInfo()
print(imageSizeInMB) //Output "1,7 MB" 

我需要 "1. 7 MB "这样的输出。

我不是在找 "替换字符串中的字符"。

请在这里帮助我。

ios swift xcode uiimage
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.