此问题在此处已有答案:
Adding Thousand Separator to Int in Swift(7个答案)
NumberFormatter and unsigned with UInt64.max(2个答案)
上个月关门了。
我希望能够将任何整数(目前我只使用Int和UInt 16)转换为带有分隔符的String,以便对千位进行分组(如果有的话)。例如,值12,345作为输入将输出字符串“12,345”。
我找到了这个解决方案,但它失败了,返回“12345”。
import Foundation
func readable<T: BinaryInteger>(_ value: T) -> String {
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .decimal
numberFormatter.groupingSeparator = Locale.current.groupingSeparator ?? ","
if let formattedValue = numberFormatter.string(from: NSNumber(nonretainedObject: value)) {
return formattedValue
} else {
return "\(value)"
}
}
字符串
我首先找到了NSNumber参数的一个变体,但它无法编译,因此我怀疑NSNumber参数不正确。
我该如何解决此问题?
NSNumber(value: value) // snippet does not compile.
型
编辑:答案在这里找到https://stackoverflow.com/a/29999137/75062,但它没有显示在我的搜索.
1条答案
按热度按时间hyrbngr71#
Swift 5.5
字符串