Swift 货币提供了一个 ISO 4217 框架,用于在 Swift 中以类型安全的方式表示货币。
它为处理货币提供了许多便利,例如字面量表示、价值格式化和数学运算。
import Currency
import Foundation
let dollars = USD(30.01)
print(dollars)
// 30.01 USD
print(dollars * 2)
// 60.02 USD
print(dollars.distributedEvenly(intoParts: 6))
// [USD(1.68), USD(1.68), USD(1.68), USD(1.67), USD(1.67), USD(1.67)]
let pounds = GBP(109.23)
print(dollars + pounds)
// compile error
let jpy: JPY = 399
print("The total price is \(jpy.localizedString()).")
// "The total price is ¥399.", assuming `Foundation.Locale.current` is "en_US"
let euro = EUR(29.09)
print("Der Gesamtpreis beträgt \(localize: euro, for: .init(identifier: "de_DE")).")
// "Der Gesamtpreis beträgt 29,09 €."
有关更详细的示例,请参阅文档。
该库尽最大努力在官方支持该库的任何地方运行测试,即官方语言支持的范围。
然而,GitHub Actions 的 macOS 云 runners 使测试所有可能性变得有些困难,因为它们会弃用 macOS 版本或不提供安装较新 Xcode 版本。
要验证该软件包是否在您期望的平台上正常工作,请查看最新的测试结果。
将软件包引用添加到您的 Package.swift 以通过 SwiftPM 安装。
dependencies: [
.package(url: "https://github.com/peek-travel/swift-currency", .upToNextMajor(from: "1.0.0"))
]
文档可从 Swift Package Index 获取。
对于错误或功能请求,请提交新的 issue。
查看 CONTRIBUTING.md 以获取有关如何帮助 SwiftCurrency 的更多信息。
查看 CONTRIBUTORS.txt 查看完整列表。此列表在每个版本中更新。
版权所有 (c) 2020-至今, Peek Travel Inc.
本项目包含由其他与本项目无关的人员编写的代码。所有版权声明均由他们保留。 有关包含其声明权利的完整列表,请参阅 NOTICE.txt
Swift 是 Apple, Inc 的注册商标。 对其商标的任何使用并不意味着与他们的任何关联或由他们认可,所有权利均由他们保留。