首页 > 解决方案 > 替换Occurences后如何在Swift中将文本转换为小数/双精度?

问题描述

在放置一些文本后,我不知道如何获取一个字符串并将其转换为浮点数、双精度数或十进制数。在某些情况下,我有一个字符串var test = "$50.50",我做了以下事情:

var denominator: Int = 5
var newStr = Decimal(test.replacingOccurrences(of: "$", with: "")) / Decimal(denominator)

我不断收到以下错误:

无法转换“浮点数”类型的值?到预期的参数类型“十进制”

我尝试将包装器更改为 Float 等,但我不断收到错误......这样做的正确方法是什么?我觉得我必须让它变得更难,使用其他语言(如 javascript)使这成为一项非常容易/简单的任务。

标签: swift

解决方案


首先将字符串转换为双精度或浮点值,如下所示

var test = "$50.50"
var denominator:Int = 5
var v = test.replacingOccurrences(of: "$", with: "")
var newStr = Decimal(Double(v) ?? 0)/Decimal(denominator)

在此处输入图像描述


推荐阅读