Swift 3将双精度浮点数转换为字符串

7

我会一直收到这个错误“条件绑定的初始化器必须具有可选类型,而不是'Double'”。我正在尝试显示一些核心数据值,其中一个是双精度浮点型。我尝试了与将其转换存储值时相同的方式解决它。

这是给我错误的代码:

func displayStats() {



        // display other attributes if they have values
        if let servingSize  = mealstats.serving {
            servingsLabel.text = servingSize

        }

那么 mealstats.serving 是一个 Double 类型?如果是的话,你可以直接使用 servingsLabel.text = "\(mealstats.serving)" - Keiwan
很有可能您想要使用 NSNumberFormatter 将数字正确地格式化为字符串。 - Sulthan
String(mealstats.serving) - TheValyreanGroup
是的,它是一个Double类型。我考虑过尝试使用NSNumberFormatter,但不确定它会如何工作。明天早上我有空时会尝试一下。 - rahmikg
1个回答

8

mealstats.serving很可能是“Double”类型而不是“Double?”类型。
由于它不是可选的,因此无法解包。正确使用它的方法应该是

func displayStats() {
    // display other attributes if they have values
    servingsLabel.text = "\(mealstats.serving)"
}

这可能会产生错误的结果,因为它不尊重区域设置。 - D. Mika

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接