mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
38 lines
952 B
Swift
38 lines
952 B
Swift
//
|
|
// ScalesNumberFormatter.swift
|
|
// GraphTest
|
|
//
|
|
// Created by Andrei Salavei on 4/13/19.
|
|
// Copyright © 2019 Andrei Salavei. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
#if os(macOS)
|
|
import Cocoa
|
|
#else
|
|
import UIKit
|
|
#endif
|
|
|
|
private let milionsScale = "M"
|
|
private let thousandsScale = "K"
|
|
|
|
class ScalesNumberFormatter: NumberFormatter {
|
|
override func string(from number: NSNumber) -> String? {
|
|
let value = number.doubleValue
|
|
let pow = log10(value)
|
|
if pow >= 6 {
|
|
guard let string = super.string(from: NSNumber(value: value / 1_000_000)) else {
|
|
return nil
|
|
}
|
|
return string + milionsScale
|
|
} else if pow >= 4 {
|
|
guard let string = super.string(from: NSNumber(value: value / 1_000)) else {
|
|
return nil
|
|
}
|
|
return string + thousandsScale
|
|
} else {
|
|
return super.string(from: number)
|
|
}
|
|
}
|
|
}
|