정확한 금융 계산을 위한 Dart 및 Flutter 패키지로, 정확히 네 자리 소수까지 유지하는 큰 숫자 유형을 제공합니다. 표준 수치 유형에서 흔히 발생하는 부동소수점 오류를 방지하여 통화 연산의 정확성을 보장합니다. 은행, 전자상거래 또는 회계 시스템과 같이 엄격한 화폐 정밀도가 필요한 애플리케이션에 적합합니다. 이 패키지는 플랫폼 독립적이며 Android, iOS, Web, macOS, Windows, Linux 등 모든 주요 플랫폼을 지원합니다.
사용 사례
금융 거래 처리
앱에서 통화 표시
회계 및 송장 시스템
전자상거래 가격 설정 로직
정밀한 통화 산술
예산 추적 애플리케이션
주요 기능
소수점 4자리 정밀도 고정
부동 소수점 정확도 오류를 방지합니다
산술 연산을 지원합니다
크로스 플랫폼 호환성
통화 처리를 위한 간단한 API
내장 형식 지정 유틸리티
적합한 대상
금융 앱을 개발하는 개발자
정확한 금액 계산이 필요한 플러터 앱
일관된 통화 표현이 필요한 팀
국제 결제를 처리하는 애플리케이션
금전 데이터를 관리하는 백엔드 서비스
고려 사항
비금전적 대수 계산에 적합하지 않습니다
입력 문자열의 주의 깊은 처리가 필요합니다
매우 높은 주파수의 작업에는 성능 오버헤드가 발생할 수 있습니다
소수점 이하 넷째 자리까지만 가능
다중 통화를 원본으로 지원하지 않습니다
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
currency_type
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.48999999999999994NotEqual
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.4900Equal
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:
Create zero value
var a = Currency();
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);
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");
}