- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以快速将自定义单位选项添加到MeasurementFormatter?我希望能够定义诸如 .imperial 和 .metric之类的
extension UnitEnergy {
static let footPounds = UnitEnergy(symbol: "ft-lbs", converter: UnitConverterLinear(coefficient: 1))
}
var test = Measurement<UnitEnergy>( value: 10, unit: .footPounds)
var formatter = MeasurementFormatter()
formatter.locale = Locale(identifier: "es")
print( formatter.unitOptions )
print( formatter.string(from: test))
formatter.unitOptions = .naturalScale
print( formatter.unitOptions )
print( formatter.string(from: test))
formatter.unitOptions = .providedUnit
print( formatter.unitOptions )
print( formatter.string(from: test))
输出:
UnitOptions(rawValue: 0)
10 J
UnitOptions(rawValue: 2)
2,39 cal
UnitOptions(rawValue: 1)
10 ft-lbs
最佳答案
您当然可以创建自己的类,该类将采用英制和公制单位选项,并使用按您期望和期望运行的区域设置来调用测量格式化程序。这是最简单的方法,并且可以按照您的预期工作。使用 en_US 和 en_AU 的效果符合我的预期,并且希望它能达到这个目的。
更多信息和指南请参见:Introduction to MeasurementFormatter .
关于swift - 在 Swift 中向MeasurementFormatter添加额外的unitOptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40558049/
let userDefined = Measurement(value: Double(userInput.text!)!, unit: UnitMass.kilograms) let calcula
我一直在尝试使用 MeasurementFormatter 尝试将英制长度显示为 10'6" 或 10 ft 6 in 但未成功。LengthFormatter 在 isForPersonHeig
我有一个双倍距离,我希望以公里为单位显示。我正在尝试使用 MeasurementFormatter 使用下面的代码将其格式化为字符串。由于某种原因,格式化字符串以英里为单位。当前语言环境使用公制。有谁
我正在设置一个 MeasurementFormatter 对象,将 .naturalScale 用于 unitOptions 并将语言环境设置为加拿大以用于公制输出。由于某种原因,它在生成字符串时完全
我正在尝试获取使用测量格式化程序获得的任何测量的本地化单位符号。 例如,如果语言环境使用华氏度,但应用程序以摄氏度存储数据,我将创建一个测量格式化程序,如下所示: let formatter = Me
当我在 Playground 中运行以下代码时,格式化字符串返回为 nil。我在派生的自定义测量类中缺少什么? open class UnitFlowRate : Dimension { op
我无法让新的 MeasurementFormatter 类给我以适当单位的结果。我有以米为单位的值,我想以本地化的字符串显示,米或英尺取决于用户的区域设置。 我有这个: let meters : Do
这类似于 question I asked yesterday但我得到的答案在这种情况下似乎不起作用。 我从 Core Location 获取以米为单位的高度值。我想以本地化形式显示这些。例如,我现在
当输入以下代码时: let formatter = MeasurementFormatter() let measurement = Measurement(value: 1000, unit: Un
已解决感谢Martin R这已经通过必须将 locale 放在第一位来解决。所以: import Foundation let formatter = MeasurementFormatter() f
我是一名优秀的程序员,十分优秀!