# mathematics_fraction **Repository Path**: gzdxyy/mathematics_fraction ## Basic Information - **Project Name**: mathematics_fraction - **Description**: 一个Dart数学分数运算库 - **Primary Language**: Dart - **License**: MulanPSL-2.0 - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-09-11 - **Last Updated**: 2022-11-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 一个可以进行数学分数运算的Dart库。 ## 用法 ### 创建分数 - 使用构造函数创建分数: ```dart import 'package:mathematics_fraction/fraction.dart'; main() { final fraction = Fraction(2, denominator: 3); // 2/3 final fraction = Fraction(2); // 2/1 } ``` - 使用分数类型的字符串创建分数,注意格式必须正确,否则会引发异常(未实现) - 使用小数(浮点数)创建分数 > 注意:这里需要输入正确的小数,否则会报错。 ```dart import 'package:mathematics_fraction/fraction.dart'; void main() { print(Fraction.fromDouble(1.62)); // 81/50 print(Fraction.fromDouble(-1.62)); // -81/50 } ``` - 使用字符串类型的数字创建分数 ```dart import 'package:mathematics_fraction/fraction.dart'; void main() { print(Fraction.fromString("1.62")); // 81/50 print(Fraction.fromString("-1.62")); // -81/50 print(Fraction.fromString('1.62', isReduce: false)); // 162/100 } ``` ### 分数运算 - 加法 ```dart import 'package:mathematics_fraction/fraction.dart'; void main() { var f1 = Fraction(2, denominator: 3); // 2/3 var f2 = Fraction(2, denominator: 5); // 2/5 print(f1 + f2); // 16/15 } ``` - 减法 ```dart import 'package:mathematics_fraction/fraction.dart'; void main() { var f1 = Fraction(2, denominator: 3); // 2/3 var f2 = Fraction(2, denominator: 5); // 2/5 print(f1 - f2); // 4/15 } ``` - 乘法 ```dart import 'package:mathematics_fraction/fraction.dart'; void main() { var f1 = Fraction(2, denominator: 3); // 2/3 var f2 = Fraction(2, denominator: 5); // 2/5 print(f1 * f2); // 4/15 } ``` - 除法 ```dart import 'package:mathematics_fraction/fraction.dart'; void main() { var f1 = Fraction(2, denominator: 3); // 2/3 var f2 = Fraction(2, denominator: 5); // 2/5 print(f1 / f2); // 5/3 } ``` - 化简 > 注意:默认 `Fraction` 会自动转换为最简分数, > 如果你需要非最简分数,在创建分数的时候, > 设置第三个参数 `isReduce` 为 `false`, > 在你需要转化为最简分数的时候,调用 `reduce()` 方法化简。 ```dart import 'package:mathematics_fraction/fraction.dart'; void main() { final f3 = Fraction(6,denominator: 8, isReduce: false); print(f3); // 6/8 f3.reduce(); // 化简 print(f3); // 3/4 } ``` - 转为小数 ```dart import 'package:mathematics_fraction/fraction.dart'; void main() { final f3 = Fraction(6, denominator: 8, isReduce: false); print(f3.toDouble()); // 0.75 } ```