搜索插件、代码仓与 APP 分类

插件详情v1.0.0

currency_type

Dart 和 Flutter 的货币类型,一种大数值类型,小数点后精确四位,适用于财务计算。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
84
喜欢数
27
Pub 分数
150

安装插件

flutter pub add currency_type

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个专为精确财务计算设计的 Dart 和 Flutter 包,提供一种大数值类型,可精确保持四位小数。它通过防止标准数值类型常见的浮点数错误,确保货币操作的准确性。非常适合需要严格货币精度的应用程序,例如银行、电子商务或会计系统。该包与平台无关,支持所有主要平台,包括 Android、iOS、Web、macOS、Windows 和 Linux。

适合场景

  • 金融交易处理
  • 应用中的货币显示
  • 会计和发票系统
  • 电子商务定价逻辑
  • 精确的货币算术
  • 预算跟踪应用程序

主要特点

  • 固定四位小数精度
  • 防止浮点数精度误差
  • 支持算术运算
  • 跨平台兼容性
  • 用于货币处理的简单 API
  • 内置格式化工具

适合对象

  • 开发金融应用的开发者
  • 需要精确金钱计算的 Flutter 应用
  • 需要一致货币表示的团队
  • 处理国际支付的应用程序
  • 管理资金数据的后端服务

使用建议

  • 不适合用于非货币的大数计算
  • 需要仔细处理输入字符串
  • 对于非常高频的操作,可能会有性能开销
  • 仅限四位小数
  • 不原生支持多种货币

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

currency_type

Version

The Currency type is a large numeric type, with exactly four digit after the decimal point. Internally, Currency using integer calculation to minimizes rounding errors.

The Currency type is appropriate for financial calculations that require large numbers of significant integral, up to four fractional digits, and minimize error caused by floating point calculation.


Why Using Currency ?


Currency prevent rounding error from floating point calculation. Currency also make comparisan more accurate and predictable.


Using Double

func main() {
  var a = 0.7;
  var b = 0.49;
  var c = a * a;

  print('$a * $a = $c');

  if (c == b) {
    print("Equal");
  } else {
    print("Not Equal");
  }
}
0.7 * 0.7 = 0.48999999999999994
Not Equal

Using Currency

func main() {
  var a = Currency.parse('0.7');
  var b = Currency.parse('0.49');
  var c = a * a;

  print('$a * $a = $c');

  if (c == b) {
    print("Equal");
  } else {
    print("Not Equal");
  }
}
0.7000 * 0.7000 = 0.4900
Equal

How To Use


To use currency_type module, you have to add to your project by run following command:

$ dart pub add currency_type 

or add directly in pubspec.yaml

dependencies: 
  currency_type: ^1.0.0

and then import to your dart file

import 'package:currency_type/currency_type.dart';

Variable declaration


You can declare Currency variable in 3 ways:

  1. Create zero value

    var a = Currency();
    
  2. Convert from numbers variable or literal :

    var b = 1234;
    var c = 1234.56;
    
    var d = Currency.from(b);
    var e = Currency.from(c);
    
    var f = Currency.from(1234);
    var g = Currency.from(1234.56);
    
  3. Parsing from string :

    var f = Currency.parse('1234567890');
    var g = Currency.parse('1234567890123456.1234');
    

Operations


You can do arithmetic operation on Currency like addition, subtraction, multiplication, or division.

var h = d + e; 
var i = g - h;
var j = d * e; 
var k = g / f; 

var l = (d + e) * g;

Currency can also be compared to other Currency

if (k == l) {
   ...
}


if (h > Currency.from(100)) {
   ...
}

Big Numbers


Unlike double, Currency can store very big number precisely.

func main() {
  var a = 12345678901234567.1234;
  print("Big Double   : $a");

  var b = Currency.parse('12345678901234567.1234');
  print("Big Currency : $b");
}
Big Double   : 12345678901234568.0
Big Currency : 12345678901234567.1234




Copyright (c) 2021-2025, Mohamad Tantowi Mustofa (tantowi.com)
Licensed under BSD 3-Clause license.

所属分类

源码仓库

使用此插件的项目

暂无相关数据。