PNCurrency 1.3.3

PNCurrency 1.3.3

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2016年4月

David Westerhoff 维护。



  • 作者:
  • David Westerhoff

Alt text

PNCurrency可以轻松地在您的应用中转换不同的货币格式。如果您之前曾经处理过应用中的货币,那么您知道在分、双精度浮点数、字符串甚至这些格式的某些格式化变体之间进行转换是一个非常常见的任务。这正是PNCurrency的用武之地,它提供了一个简单的接口来完成这些操作。请继续阅读以了解接口和如何开始。

目录


安装


源代码

您可以使用git克隆仓库

git clone https://github.com/pinnrepo/PNCurrency.git

然后将文件添加到您的项目中,并使用本地导入头

#import "PNCurrency.h"

特性


以下是使用PNCurrency替代自己编写的理由:

  • 100%的文档覆盖率
  • 全面单元测试
  • Cocoapods集成,快速开始
  • 简单界面,可从源中去除琐碎代码

用法


以下是快速了解如何开始使用PNCurrency的方法:

初始化

有几种方法可以创建一个新的PNCurrency对象,以下是初始化对象的最佳方法。

init

普通init将金额默认为零。按如下方式分配初始化对象

PNCurrency *currency = [[PNCurrency alloc] init];
initWithCentsAmount

当您有一个以分表示的金额时,请使用此方法来创建对象

// Initialize currency to a dollar
PNCurrency *currency = [[PNCurrency alloc] initWithCentsAmount:100];
initWithDoubleAmount

您可能有一个原始双精度浮点数,在这种情况下,您将希望使用此方法

// Initialize currency to a dollar
PNCurrency *currency = [[PNCurrency alloc] initWithDoubleAmount:1.00];
initWithStringAmount

最后,如果您有一个表示可以喂食的金额的字符串,您也可以输入它

// Initialize currency to a dollar
PNCurrency *currency = [[PNCurrency alloc] initWithStringAmount:@"1.00"];

设置

很可能您需要对对象的生命周期中的货币值进行更新,这可以通过几种不同的简单方式进行

centsAmount

您可以通过更改centsAmount属性来修改金额

PNCurrency *currency = [[PNCurrency alloc] init];
currency.centsAmount = 10 // value is now $0.10
setWithDoubleAmount

或者用新的双精度值来更改它

PNCurrency *currency = [[PNCurrency alloc] init];
[currency setWithDoubleAmount:1.11] // value is now $1.11
setWithStringAmount

最后,还可以用新的字符串值来更改它

PNCurrency *currency = [[PNCurrency alloc] init];
[currency setWithStringAmount:@"2.00"] // value is now $2.00

获取器

这里没有太多花哨的东西,但是有安全便捷的自动转换,当您实际需要返回值时,这里是如何操作的

centsAmount

您可以利用cents amount属性来获取原始的金额(以未签名整数字符串形式表示)

PNCurrency *currency = [[PNCurrency alloc] initWithStringAmount:@"1.00"];
[currency centsAmounts] // Value is 100 (you can also use currency.centsAmount
doubleAmount

以双精度值返回金额,可能会截断尾随零

PNCurrency *currency = [[PNCurrency alloc] initWithCentsAmount:100];
[currency doubleAmount] // Value is 1.00
stringAmount

恰如期望地以字符串形式返回金额

PNCurrency *currency = [[PNCurrency alloc] initWithCentsAmount:100];
NSLog(@"%@", [currency stringAmount]) // prints "1.00"

格式化工具

通常您会希望将这些内容打印到屏幕上,所以您可能会想要类似"$1.00"的东西,而不是双精度或以分为单位的金额。这些都是方便的格式化工具。

formattedAmount

直接打印带有美元符号的值

PNCurrency *currency = [[PNCurrency alloc] initWithCentsAmount:100];
NSLog(@"%@", [currency formattedAmount]) // prints "$1.00"
formattedAmountWithSpace

在美元符号和金额本身之间打印空格

PNCurrency *currency = [[PNCurrency alloc] initWithCentsAmount:100];
NSLog(@"%@", [currency formattedAmountWithSpace]) // prints "$ 1.00"

文档


您可以在这里查看完整的参考文档。

变更日志


  • v1.0 - 初次发布 (4/1/15)
  • v1.1 - 添加PNCurrencyTextField (4/4/15)
  • v1.2 - 在金额上添加逗号格式,内部使用NSDecimalNumber进行存储
  • v1.3 - 正确进行舍入,默认使用银行家舍入方式

路线图


以下是一些即将推出功能和改进的列表

  • 遵守NSCoding和NSCopying
  • 舍入模式属性
  • 设置美元部分或几何部分的设置器

贡献


  1. 将其进行分支操作
  2. 创建您的功能分支: git checkout -b my-new-feature
  3. 提交您的更改: git commit -am '添加一些功能'
  4. 将分支推送到远程: git push origin my-new-feature
  5. 运行 flake8 . --exclude=.venv
  6. 提交一个归并请求数据

作者


许可证


MIT 许可证 (MIT)

版权所有 (c) 2016 Pinn Technologies, Inc.

在此授予任何获得此软件及相关文档资料副本(以下简称“软件”)的个人免费使用该软件的权利,不受限制地处理该软件,包括但不限于以下权利:使用、复制、修改、合并、发布、分发、许可和/或出售软件副本,以及准许将软件提供给他人以便其使用,前提是必须遵守以下条件:

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

本软件按原样提供,不提供任何明示或暗示的担保,包括但不限于适销性、特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论这种责任是基于合同、侵权或其他方式,源自、因之而产生或与之相关本软件或其使用或处理。