将float转换为字符串时的额外垃圾值

时间:2014-06-03 17:18:44

标签: swift

我正在玩浮动并将浮动显式转换为所需类型。我得到的是当你将一个浮点数转换为字符串时,会出现一些垃圾数据。为什么会这样?

继承我的代码:

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

在这里发生了什么

1 个答案:

答案 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"