我想将-33.861382,151.210316,226.76转换为String。我试图输入它,但没有成功。 如何将浮点值转换为String?
答案 0 :(得分:54)
如果您想要更多地控制转换方式,可以使用+stringWithFormat
上的NSString
或NSNumberFormatter
let f = -33.861382
let s = NSString(format: "%.2f", f)
let nf = NSNumberFormatter()
nf.numberStyle = .DecimalStyle
// Configure the number formatter to your liking
let s2 = nf.stringFromNumber(f)
答案 1 :(得分:29)
使用Xcode 6.3,您可以使用.description
将float转换为字符串var float = -33.861382
var string = "my float is " + float.description
或者您可以使用以下方式快速为您做到:
var string = "my float is \(float)"
答案 2 :(得分:7)
在swift 3中,它很简单,如下所示
let stringFloat = String(describing: float)
答案 3 :(得分:1)
以下是Swift 3.0中使用NSNumber
将NumberFormatter
转换为带小数的字符串的简单示例,如果您想了解有关格式化程序的更多信息,请link here
let num = NSNumber(value: 8.800000000000001)
let formatter : NumberFormatter = NumberFormatter()
formatter.numberStyle = .decimal
let str = formatter.string(from: num)!
print(str)
输出
8.8
根据我的代码进行任何查询然后发表评论。
答案 4 :(得分:-4)
直接来自developer.apple.com提供的swift编程参考的第6页:
永远不会将值隐式转换为其他类型。如果需要将值转换为其他类型,请显式创建所需类型的实例。
let label = "The width is "
let width = 94
let widthLabel = label + String(width)
摘自:Apple Inc.“The Swift Programming Language。”iBooks。 https://itun.es/us/jEUH0.l
OR
在字符串中包含值有一种更简单的方法:在括号中写入值,并在括号前写入反斜杠()。例如:
let apples = 3
let oranges = 5
let appleSummary = "I have \(apples) apples."
let fruitSummary = "I have \(apples + oranges) pieces of fruit."
摘自:Apple Inc.“The Swift Programming Language。”iBooks。 https://itun.es/us/jEUH0.l