如果达到给定数量的有效数字(类似于stringWithFormat(" .5g"),我想将双精度转换为自动(!)从十进制切换到科学的字符串!)。 例子:
55555 -> "55555"
55555.55 -> "55556"
555555.55 -> "5.5556E+05"
我无法弄清楚如何使用" NSNumberFormatter()。stringFromNumber"?
你能帮帮我吗? 谢谢!答案 0 :(得分:0)
这是我的解决方案,到目前为止(有人知道更好吗?):
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)
}
}