在正%变化前添加+符号
我从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) } }
当百分比为正时,有没有办法在字符串中添加+符号?
这就是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) // ٠٫٩٨ ٪+
试试这个字符串格式表达式“%+。2f %%”
另外: http : //pubs.opengroup.org/onlinepubs/009695399/functions/printf.html
当值为正时,您可以简单地使用三元运算符将String格式更改为"+%.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%
- 在Swift中创build一个JSON对象
- SKScene和SKView的暂停属性之间的区别
- 在UITableViewCell中使用UITextViewdynamic调整单元大小会导致警告?
- 如何保持导航栏消失与MSMessagesViewController – > UIContainerView – > UINavigationController – > UITableViewController?
- 几乎裸iOS8.4 – >如何获得一个链接器?
- PJSIP从IOS的Nat64networking注册到IPV4服务器
- 如何将xcode 32位应用程序转换为64位xcode应用程序
- IOS SWIFT:声明仅在文件范围内有效
- Google Analytics SDK iOS10