json - 将双精度词分配为标签中的文本时如何删除单词 optional?
问题描述
我从 JSON 中获取了一系列值,其中一个由totalBuy
this 值定义为 bool
struct PurchaseTotals: Codable {
var totalBuy: Double?
enum CodingKeys: String, CodingKey {
case sumTotal = "totalBuy"
}
}
当我尝试将此双精度指定为标签的文本时,可选一词会显示在前面:
我正在分配这样的值:
sumLabel.text = "\(totalBuy)"
可选这个词怎么去掉?
除此之外,是否可以在必要时将标签中的值格式化为包含逗号,的值totalBuy
是一个数字,有时看起来像"1000"
在一个(1,000).
?之后需要逗号的地方。
解决方案
我认为你正在寻找NumberFormatter
// If I have a value for totalBuy go ahead
if let totalBuy = totalBuy {
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
let formattedString = formatter.string(from: NSNumber(value: totalBuy)) ?? ""
sumLabel.text = "\(formattedString)"
} else {
sumLabel.text = ""
}
推荐阅读
- java - 强化拒绝服务:正则表达式
- currency - 如何通过 API 获取外汇汇率?
- php - 我正在通过 phpmailer 在 gmail 中发送消息,其中包含一个链接,该链接将在 localhost(xampp)中的我的 php 页面上重定向
- android - 如何通过android应用程序连接到wifi中的设备..我需要持久连接(退出应用程序后不会丢失)
- javascript - 胜利事件不重新渲染图表
- osquery - 无法将 osquery 从窗口服务器连接到 kolide 舰队
- java - 如何在android中读取为菜单项设置的图标/图像名称
- ios - 如何使用 maccatalist 在 Mac 构建中访问网络摄像头?
- python - CONAN ERROR: Conanfile 定义包'name',set_name() 冗余
- c# - Rotativa 在本地工作正常,但无法重定向服务器中的视图