在我的健康应用程序中显示距离为0.1公里,但在我的应用程序中它给出的值为0.106。我怎样才能把它改成十进制?这是我用来获取当前统计信息的代码:pedometer.queryPedometerData(from:Date().startOfDay,to:Date()){data,erroringuardletactivityData=data,error==nilelse{print("Therewasanerrorgettingthedata:\(String(describing:error))")return}print((Double(activityData.distance
我正在使用新的MeasurementAPI在iOS10中获取长度测量的本地化字符串:letlength=Measurement(value:200,unit:UnitLength.centimeters)letstr=MeasurementFormatter().string(from:length)但是,对于我的(英国)语言环境,我会返回"0.001mi",这不是一个非常有用的字符串来显示。相反,我更愿意获得一个字符串,该字符串使用适当的单位(例如“6.56英尺”或“2.19码”)来表示测量值。这是否可以通过API实现,还是我最好使用使用SI前缀的自定义解决方案?
我一直在尝试使用MeasurementFormatter尝试将英制长度显示为10'6"或10ft6in但未成功。LengthFormatter在isForPersonHeightUse设置为true时正确执行此操作,但它不能很好地适应用户的区域设置(即长度以公制测量的国家,除非提到高度)。有没有办法在格式化程序中强制执行此行为?编辑这question是确定如何选择测量单位。我可以选择英尺或英寸,但想将英尺的分数显示为英寸,例如:6'3"而不是6.25英尺。 最佳答案 publicstructLengthFormatters{pu
我无法让新的MeasurementFormatter类给我以适当单位的结果。我有以米为单位的值,我想以本地化的字符串显示,米或英尺取决于用户的区域设置。我有这个:letmeters:Double=10letmetersMeasurement=Measurement(value:meters,unit:UnitLength.meters)letmeasurementFormatter=MeasurementFormatter()measurementFormatter.locale=Locale(identifier:"en_US")letlocalizedString=measurem
这类似于questionIaskedyesterday但我得到的答案在这种情况下似乎不起作用。我从CoreLocation获取以米为单位的高度值。我想以本地化形式显示这些。例如,我现在所在的海拔高度为1839米。这应该显示为6033英尺。我可以用MeasurementFormatter做的最好的事情是“1.143英里”。letmeters:Double=1839letmetersMeasurement=Measurement(value:meters,unit:UnitLength.meters)letmeasurementFormatter=MeasurementFormatter(