KyoDecimalNumber 0.0.5

KyoDecimalNumber 0.0.5

Kyo 维护。



  • 作者:
  • Kyo

KyoDecimalNumber

一个简单扩展,使得操作 NSDecimalNumber 变得更加容易!

功能

  • 简化 NSDecimalnumber 中的四舍五入操作。
  • 扩展了公共数据类型到 NSDecimalNumber 的转换。
  • 自定义操作符使 + - * / > >= < <= == 能够直接在 NSDecimalNumber 上使用。

从KyoDecimalNumber开始

舍入

您可以为保留的小数位数提供预留值,并指定返回的数据类型是 String 还是 NSDecimalNumber。

var price = NSDecimalNumber(string: "15.54321")
price = price.roundUp()  //NSDecimalNumber -> 15.54
var strPrice: String = price.roundUp()  //String -> 15.54
strPrice = price.roundUp(fractionNum: 1)  //String -> 15.5
let string = price.roundUp(type: String.self)  //String -> 15.54
let decimalNumber = price.roundUp(type: NSDecimalNumber.self)  //NSDecimalNumber -> 15.54

转换

目前支持将 NSNumber String Float Double Bool Int UInt Int8 Int16 Int32 Int64 转换为 NSDecimalNumber。

let number: NSNumber = NSNumber(value: 32)
let fromNumber = number.decimalNumber()
let string: String = "32"
let fromString = string.decimalNumber()
let float: Float = 32.22
let fromFloat = float.decimalNumber()
let double: Double = 32.22
let fromDouble = double.decimalNumber()
let bool: Bool = true
let fromBool = bool.decimalNumber()
let int: Int = 32
let fromInt = int.decimalNumber()
let uint: UInt = 32
let fromUInt = uint.decimalNumber()
let int8: Int8 = 32
let fromInt8 = int8.decimalNumber()
let int16: Int16 = 32
let fromInt16 = int16.decimalNumber()
let int32: Int32 = 32
let fromInt32 = int32.decimalNumber()
let int64: Int64 = 32
let fromInt64 = int64.decimalNumber()

自定义运算符

您可以在 NSDecimalNumber 上使用像值类型一样的常用运算符。

var decimalNumber: NSDecimalNumber = 23.2.decimalNumber() + "15.2".decimalNumber()  //38.4
decimalNumber = nil - 15.23.decimalNumber() //-15.23
decimalNumber = decimalNumber * 2.1 //-31.983
decimalNumber = decimalNumber / "2".decimalNumber() //-15.9915
print("12".decimalNumber() >= 12) //true
print(11.decimalNumber() > 12)  //false
print(12.decimalNumber() == "12.00".decimalNumber()) //true
print(true.decimalNumber() <= "0".decimalNumber()) //false
print(100.01.decimalNumber() < 100.02) //true

安装

Cocoapods

CocoaPods 是一个用于 Cocoa 项目的依赖管理器。您可以使用以下命令进行安装

$ gem install cocoapods

使用 CocoaPods 将 KyoDecimalNumber 集成到您的 Xcode 项目中,请在 Podfile 中指定它到目标

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '11.0'
use_frameworks!

target '<Your Target Name>' do
  # your other pod
  # ...
  pod 'KyoDecimalNumber', '~> 0.0.4'
end

手动

如果您不想使用上述依赖管理器,可以手动将 KyoDecimalNumber 集成到您的项目中。

  • 将 KyoDecimalNumber 克隆或下载到您的计算机。
  • 打开 KyoDecimalNumber 文件夹,将 NSDecimalNumber+KyoOperand.swiftNSDecimalNumber+KyoRoundUp.swift 拖入您的应用程序项目的文件导航器中,位于您的应用程序项目下。
  • 如果您使用 Objective-C,将 NSDecimalNumber+KyoConvert.hNSDecimalNumber+KyoConvert.m 拖入您的项目中。

授权许可

KyoDecimalNumber 采用 MIT 许可协议发布。

MIT 许可协议

版权所有 (c) 2020 Live

任何人无需费用即可获得一份此软件和相关文档的副本(以下简称“软件”),不受限制地使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,或允许向获得软件的人提供这样做,但必须遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他,这些索赔、损害或其他责任源于、产生于或与软件或其使用有关。