Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将字符串转换为double类型将生成0.0而不是假定的值_Ios_String_Xcode_Double_Uilabel - Fatal编程技术网

Ios 将字符串转换为double类型将生成0.0而不是假定的值

Ios 将字符串转换为double类型将生成0.0而不是假定的值,ios,string,xcode,double,uilabel,Ios,String,Xcode,Double,Uilabel,我正在尝试使用Xcode将字符串转换为double类型。我尝试了在堆栈上看到的一些方法,但结果并没有很好地出来 在上图中,我试图在按钮总成本中增加10%的税。在这个例子中是35美元。所以税是3.50美元,总数是38.50美元。我使用的代码允许我得到双倍的税,但是它只被设置为0.0,而不是应该出现的值。我正在获取存储在firebase中的这个号码,并将其设置为我的货币标签 var moneyLabel: UILabel = { let label = UILabel()

我正在尝试使用Xcode将字符串转换为double类型。我尝试了在堆栈上看到的一些方法,但结果并没有很好地出来

在上图中,我试图在按钮总成本中增加10%的税。在这个例子中是35美元。所以税是3.50美元,总数是38.50美元。我使用的代码允许我得到双倍的税,但是它只被设置为0.0,而不是应该出现的值。我正在获取存储在firebase中的这个号码,并将其设置为我的货币标签

  var moneyLabel: UILabel = {
         let label = UILabel()
         label.text = "$"
         label.font = UIFont.systemFont(ofSize: 20)
         label.numberOfLines = 0
         return label
     }()

func setupViews() {

    let post = notification?.poster
    let cost = post?.cost
    let priceString = cost != nil ? "$\(cost!)" : "N\\A"

        self.moneyLabel.text = priceString
        self.moneyLabel.font = UIFont.systemFont(ofSize: 20)
        self.moneyLabel.textColor = UIColor.black
        configureButtonToSetPrice()
}

    func configureButtonToSetPrice() {
    let priceString = "$\(moneyLabel)"
    let myFloat = (priceString as NSString).doubleValue
    let withTax = "\(myFloat * 0.10 + myFloat)"
    Pay.setTitle("Total Cost \(withTax)", for: .normal)
}

将$添加到priceString是一个问题。因此,转换失败,返回0.0。这是工作代码

func configureButtonToSetPrice() {
    var moneyLabel: String = "35"
    let myFloat = (moneyLabel as NSString).doubleValue
    let withTax = "\(myFloat * 0.10 + myFloat)"
    print("Total Cost $\(withTax)")
}

希望这有帮助。

谢谢您的回答!我需要在floart前面的$with tax有什么方法可以添加这个吗?注意,我已经将$添加到了总成本中。您可以在转换之后而不是之前添加$。感谢您的回答,它确实会在控制台中生成正确的输出,但我尝试的是将星星上方的特定$35标签传递到按钮标题中。我知道从原来的价格字符串中去掉$有助于解决问题,但是有没有一种方法可以让我传递星星上方的任何数字,并将其更新为按钮内部的双精度?你找到了吗?