将格式化的测量值限制为2位数字 [英] Limit formatted Measurement to 2 digits

查看:83
本文介绍了将格式化的测量值限制为2位数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想基于度量"来打印字符串,但将其限制为2位数字.我为此使用 MeasurementFormatter .

I'd like to print a string based on a Measurement but limit it to 2 digits. I am using the MeasurementFormatter for this.

var beans:Measurement = Measurement(value: 20.22321, unit: UnitMass.milligrams) // "20.22321 mg"
let formatter = MeasurementFormatter()
formatter.numberFormatter.maximumFractionDigits = 2
let label = formatter.string(from: beans) // 0 lb

我希望结果为20.22 mg,而不是0 lb.我的错误在哪里?

I expected 20.22 mg as a results, not 0 lb. Where's my mistake?

推荐答案

您需要将MeasurementFormatter属性unitOptions设置为.providedUnit:

let beans = Measurement<UnitMass>(value: 20.22321, unit: .milligrams) // "20.22321 mg"
let formatter = MeasurementFormatter()
formatter.unitOptions = .providedUnit
formatter.numberFormatter.maximumFractionDigits = 2
let label = formatter.string(from: beans) // "20.22 mg"

这篇关于将格式化的测量值限制为2位数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆