如果达到给定的有效位数,我想将 double 转换为字符串,并自动(!)从十进制切换到科学数(类似于 stringWithFormat(“.5g”)!)。 示例:
55555 -> "55555"
55555.55 -> "55556"
555555.55 -> "5.5556E+05"
我不知道如何使用“NSNumberFormatter().stringFromNumber”来做到这一点?
你能帮我吗? 谢谢!
最佳答案
到目前为止,这是我的解决方案(有人更了解吗?):
extension NSNumberFormatter {
func autoStringFromNumber (number: Double) -> String? {
if abs(number) >= Double(10.power(maximumSignificantDigits)) {
self.numberStyle = NSNumberFormatterStyle.ScientificStyle
}else{
self.numberStyle = NSNumberFormatterStyle.DecimalStyle
}
return self.stringFromNumber(number)
}
}
关于ios - NSNumberFormatter 等价于 stringWithFormat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31534987/