37 lines
1.0 KiB
Swift
37 lines
1.0 KiB
Swift
//
|
|
// NSNumber+NRAdd.swift
|
|
// ReaderHive
|
|
//
|
|
// Created by 澜声世纪 on 2025/11/27.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
extension NSNumber {
|
|
|
|
func toString(maximumFractionDigits: Int = 10, minimumFractionDigits: Int? = nil, roundingMode: NumberFormatter.RoundingMode? = nil) -> String {
|
|
let formatter = NumberFormatter()
|
|
formatter.minimumIntegerDigits = 1
|
|
formatter.maximumFractionDigits = maximumFractionDigits
|
|
if let minimumFractionDigits = minimumFractionDigits {
|
|
formatter.minimumFractionDigits = minimumFractionDigits
|
|
}
|
|
if let roundingMode = roundingMode {
|
|
formatter.roundingMode = roundingMode
|
|
}
|
|
formatter.numberStyle = .none
|
|
return formatter.string(from: self) ?? "0"
|
|
}
|
|
|
|
func formattedNumber() -> String {
|
|
let num = self.doubleValue
|
|
|
|
if num > 1000 {
|
|
return NSNumber(value: num / 1000).toString(maximumFractionDigits: 1) + "k"
|
|
} else {
|
|
return self.toString()
|
|
}
|
|
}
|
|
|
|
}
|