示例值:3.000035358。我正在尝试将双精度值转换为字符串
方法1:
let num = NSNumber(value:self)
let formatter : NumberFormatter = NumberFormatter()
formatter.numberStyle = .decimal
formatter.minimumFractionDigits = 4
let str = formatter.string(from: num)!
return str
method2:
extension Double {
var stringWithoutZeroFraction: String {
return truncatingRemainder(dividingBy: 1) == 0 ? String(d: "%.0f", self) : String(format:"%.4f", self)
}
}
预期输出为3.003,但类似于3.004。我确实希望将我的最后一位四舍五入到下一位。如何解决问题。将提供任何帮助。
示例值:3.000035358。我试图将双精度值转换为字符串方法1:let num = NSNumber(value:self)let formatter:NumberFormatter = NumberFormatter()formatter.numberStyle = ....
如果使用NumberFormatter
,则需要将roundingMode
设置为.floor
以实现截断。另外,如果要截断,则可能要设置maximumFractionDigits
而不是minimumFractionDigits
。