在正数变化前增加+符号

我从API中获取数据以显示在iOS应用中。这些数据中的一部分是百分比,所以当它为负数时,它显示为-0.98%,例如没有问题,但为了清晰起见,我希望将正数变化显示为+0.98,而不是简单地显示为0.98。在正数变化前增加+符号

这里是我的代码时,我更新标签:

func updateBitcoinUI(with bitcoinInfo: Bitcoin) { 

DispatchQueue.main.async {

self.bitcoinPercentageChangeLabel.text = String(format: "%.2f%%", Double(bitcoinInfo.percentChange24h) ?? 0)

}

}

有没有办法到+符号添加到字符串时的百分比为正?

回答:

试试这个字符串格式表达式“%+ 2F %%。”

另外:http://pubs.opengroup.org/onlinepubs/009695399/functions/printf.html

回答:

您可以简单地用一个三元运算符的字符串格式更改为"+%.2f%%",如果值是正的。

let percentChangeString = "0.98" 

guard let percentChange = Double(percentChangeString) else { return }

let percentString = percentChange > 0 ? String(format: "+%.2f%%", percentChange) : String(format: "%.2f%%", percentChange)

输出:

+ 0.98%

对于-0.98的输入,输出是

-0.98%

回答:

这是什么NumberFormatter是专为。使用此格式而不是对格式进行硬编码将正确处理使用其他百分比和分隔符格式的语言环境中的本地化。例如:

var formatter = NumberFormatter() 

formatter.numberStyle = .percent

formatter.positivePrefix = formatter.plusSign

formatter.maximumFractionDigits = 2

let value = 0.0098

formatter.string(for: value) // +0.98%

formatter.locale = Locale(identifier: "ar") // Arabic

formatter.string(for: value) // ٠٫٩٨ ٪؜+

以上是 在正数变化前增加+符号 的全部内容, 来源链接: utcz.com/qa/267072.html

回到顶部