在其中创建带有格式化字符串编号的字符串

时间:2017-07-01 02:07:21

标签: swift

我正在尝试将文本添加到数字格式的值的开头。我尝试过几个选项,但没有运气。以下是我到目前为止的情况:

calculationLabel.text = "IRD Penalty: \(format: "$%.02f", penalty)"

返回"IRD Penalty: format: "$%.02f", result"

思想?

2 个答案:

答案 0 :(得分:0)

可以存档:

let my_format = String(format:"%.02f", penalty)
calculationLabel.text = "IRD Penalty: \(my_format)"

如果你觉得每次都这样做不舒服,你可以扩展课程。

extension Double {
    func my_format() -> String {
        return String(format: "%.02f", self)
    }
}

calculationLabel.text = "IRD Penalty: \(penalty.my_format())"

我没有测试代码。但这应该足以让人有所了解。

答案 1 :(得分:0)

format仅适用于String初始值设定项,不适用于String插值。另外,请确保您的文件中包含import Foundation(或import UIKitimport Cocoa)。

以下三种方法可以在一行中完成:

  1. 将您的潜在String置于格式String

    calculationLabel.text = String(format: "IRD Penalty: $%.02f", penalty)
    
  2. 使用+将前导String与格式化的String连接起来:

    calculationLabel.text = "IRD Penalty: " + String(format: "$%.02f", penalty)
    
  3. 将完整的String(format:)调用放在String插值内:

    calculationLabel.text = "IRD Penalty: \(String(format: "$%.02f", penalty))"