我正在玩浮动并将浮动显式转换为所需类型。我得到的是当你将一个浮点数转换为字符串时,会出现一些垃圾数据。为什么会这样?
继承我的代码:
let a:Float = 5.23
var fName = "john"
var lName = "doe"
var fullName = fName + lName
var mixedString = fullName + String(a)
print(mixedString)
这会将johndoe5.23000001907349
作为输出。额外1907349
答案 0 :(得分:0)
Float
类型并不是非常精确,所以你从不精确中获得了一些额外的垃圾。如果您省略Float
类型声明,则会获得Double
,而不会出现此问题。
let a = 5.23
var fName = "john"
var lName = "doe"
var fullName = fName + lName
var mixedString = fullName + String(a)
print(mixedString)
// prints "johndoe5.23"