//
|
// DoubleExtension.swift
|
// YYBase
|
//
|
// Created by alvin_y on 2020/3/13.
|
// Copyright © 2020 yangwang. All rights reserved.
|
//
|
|
import UIKit
|
|
extension Double {
|
|
func toInt() -> Int {
|
return Int(self)
|
}
|
|
func string() -> String {
|
return String(format: "%.0f", self)
|
}
|
func remain1Digits() -> String{
|
return String(format: "%.1f", self)
|
}
|
|
func remain2Digits() -> String{
|
return String(format: "%.2f", self)
|
}
|
|
func remain3Digits() -> Double{
|
let s = String(format: "%.3f", self)
|
return (s as NSString).doubleValue
|
}
|
func remain() -> Double{
|
let s = String(format: "%.0f", self)
|
return (s as NSString).doubleValue
|
}
|
|
/// 进行格式化
|
var ld_formatFloat:String{
|
if fmodf(Float(self), 1) == 0 {
|
return String(format: "%.0f", self)
|
}else if fmodf(Float(self) * 10, 1) == 0{
|
return String(format: "%.1f", self)
|
}else{
|
return String(format: "%.2f", self)
|
}
|
}
|
|
func dateString() -> String {
|
let formatter = DateFormatter.init()
|
formatter.dateStyle = .medium
|
formatter.timeStyle = .short
|
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
|
let data = Date.init(timeIntervalSince1970: self)
|
return formatter.string(from: data)
|
}
|
func dayString() -> String {
|
let formatter = DateFormatter.init()
|
formatter.dateStyle = .medium
|
formatter.timeStyle = .short
|
formatter.dateFormat = "MM-dd"
|
let data = Date.init(timeIntervalSince1970: self)
|
return formatter.string(from: data)
|
}
|
func timeString() -> String {
|
let formatter = DateFormatter.init()
|
formatter.dateStyle = .medium
|
formatter.timeStyle = .short
|
formatter.dateFormat = "HH:mm"
|
let data = Date.init(timeIntervalSince1970: self)
|
return formatter.string(from: data)
|
}
|
func timeString(formatter:String) -> String {
|
let f = DateFormatter.init()
|
f.dateStyle = .medium
|
f.timeStyle = .short
|
f.dateFormat = formatter
|
let data = Date.init(timeIntervalSince1970: self)
|
return f.string(from: data)
|
}
|
func hourString() -> String {
|
let formatter = DateFormatter.init()
|
formatter.dateStyle = .medium
|
formatter.timeStyle = .short
|
formatter.dateFormat = "HH"
|
let data = Date.init(timeIntervalSince1970: self)
|
return formatter.string(from: data)
|
}
|
func minuteString() -> String {
|
let formatter = DateFormatter.init()
|
formatter.dateStyle = .medium
|
formatter.timeStyle = .short
|
formatter.dateFormat = "mm"
|
let data = Date.init(timeIntervalSince1970: self)
|
return formatter.string(from: data)
|
}
|
|
func toFormat() -> String{
|
if self.toString().count == 10{
|
return Date(timeIntervalSince1970: self).convertTo(region: .current).toFormat("yyyy-MM-dd")
|
}else{
|
return Date(timeIntervalSince1970: self / 1000).convertTo(region: .current).toFormat("yyyy-MM-dd")
|
}
|
|
}
|
func toFormat(format: String) -> String{
|
if String(format: "%.f", self).count == 10{
|
return Date(timeIntervalSince1970: self).convertTo(region: .current).toFormat(format)
|
}else{
|
return Date(timeIntervalSince1970: self / 1000).convertTo(region: .current).toFormat(format)
|
}
|
}
|
func twoDigits() -> String {
|
if self < 10 {
|
return "0\(Int(self))"
|
}else{
|
return "\(Int(self))"
|
}
|
}
|
|
}
|