Swift에서 'number prettifier'를 쓰는 부동 소수점 정밀도 문제가 있습니다. > "5.0K" Swift 3 double rounding func
9999
- -> "9.9k"50300 -> "50.3k"
5000
:func prettifyNumber(number:Int) -> String {
let thousands = Double(number)/1000.0;
var prettyNumber = String(format: "%.1fk", thousands)
return prettyNumber
}
내 원하는 동작은 :이 코드가
99999 - 등> "99.9k"
...
,691,363 내가 가짜 정답 일부 문자열 조작을 할 수있어> "1000.0k"thousands == 999.99900000000002
로,하지만 -
999999 : 나는 999999에 전달하면210
그러나, 나는 얻을 나는 이것을 깔끔하게 구현하고 싶다. 어떤 제안?
감사합니다.
- 당신은'ByteCountFormatter' 클래스에 관심이있을 수 있습니다. – rmaddy
BTW -'99999'는'99.9k'가 아닙니다. 정말'100.0k'입니다. – rmaddy
이 숫자는 바이트/kb/mb/gb 등의 측정 값이 아닙니다. –