在Swift 3中乘以值后的小数

时间:2018-01-05 01:36:31

标签: ios swift

我正在尝试制作一个应用程序,它可以将数字乘以可以是小数的价格。例如3 * 3.50。

我正在使用Swift 3.我在这里搜索了几个主题,但无法将此功能添加到我的应用中。

我的代码如下所示:

    @IBOutlet weak var valueBreja1: UITextField!
    @IBOutlet weak var quantityBreja1: UITextField!
    @IBOutlet weak var totalBreja1: UILabel!

    @IBAction func calcBreja1(_ sender: Any) {
        let a = Int(valueBreja1.text!)
        let b = Int(quantityBreja1.text!)

        let Answer = a! + b!
        totalBreja1.text = "R$\(Answer)"
    }

我想在乘法后用十进制数显示值。

2 个答案:

答案 0 :(得分:0)

使用Double代替Int

@IBAction func calcBreja1(_ sender: Any) {

    let a = Double(valueBreja1.text!)
    let b = Double(quantityBreja1.text!)

    let Answer = a! + b!
    totalBreja1.text = "R$\(Answer)"

}

答案 1 :(得分:0)

你有两个问题。

首先,您要从字段字符串创建Int值。 Int值只能保存整数值,因此任何小数部分都将被丢弃。您需要创建Double值(或其他形式的浮点值或小数值)。

要格式化输出,请使用格式化程序。

//: Playground - noun: a place where people can play

import Cocoa

var str1 = "3.50"
var str2 = "3"
if let value = Double(str1) {
    if let multiplier = Int(str2) {
        let formattedResult = String(format: "%.02f", value*Double(multiplier))
    }
}