string_num_calculate

Creator: coderz1093

Last updated:

0 purchases

TODO
Add to Cart

Description:

string num calculate

string_num_calculate #
一个用于计算数字字符串算式的库。
Calculate mathematical formula result from string.
可方便用于app制作虚拟键盘,虚拟计算器。
With this package, You can easily make virtual keyboard or virtual calculator for your APP.
已通过测试,可放心使用。
All tests passed, enjoy :)
API #
Calculate
// Main Class


static Map<String, Function> funs
定义的方法映射


static List
把字符串中的数字和算式符号提取为list
Extract numbers and operators from the string into a list


static List
把数字和算式符号列表中重复的符号去除
Remove redundant operators from list


static num LinierCalculate
直接计算字符串式算式
Calculate directly from string


static num ListCalculate
计算list式算式
Calculate for list


static num plus
加法
plus


static num substract
减法
minus


static num multiply
乘法
multiply


static num divide
除法
divide


static num percent
消费或者百分式算法
percentage


安装 Installation #
在pubspec.ymal文件中加入,然后运行pub get packages命令。
Add this line into pubspec.ymal, then run pub get packages
dependencies:
string_num_calculate: ^0.0.1
copied to clipboard
用法说明 Usage #
import 'package:string_num_calculate/string_num_calculate.dart';// 引入

Calculate.plus(1, 2);//=>3
Calculate.substract(1, 2);//=>-1
Calculate.multiply(1, 2);//=>2
Calculate.divide(1, 2);//=>.5
Calculate.percent(1, 2);//=>0.02
Calculate.ListCalculate(['1', '-', '5']);//=>-4
Calculate.toNumberList('1-5');//=>['1','-','5']
Calculate.formatList(['1', '+', '-', '5']);//=>['1','-','5']
Calculate.LinierCalculate('1+3+5');//=>9
copied to clipboard
测试 #
// 加法计算 Plus
test('static [plus]计算加', () {
expect(Calculate.plus(1, 2), 3);
expect(Calculate.plus(1, -2), -1);
expect(Calculate.plus(-1, -2), -3);
expect(Calculate.plus(-.1, -2), -2.1);
expect(Calculate.plus(-.1, -0.2), -0.30000000000000004);
});
// 减法计算 Minus
test('static [substract]计算减', () {
expect(Calculate.substract(1, 2), -1);
expect(Calculate.substract(.1, -2), 2.1);
expect(Calculate.substract(0.1, -2), 2.1);
});
// 乘法计算 Multiply
test('static [multiply]计算乘', () {
expect(Calculate.multiply(1, 2), 2);
expect(Calculate.multiply(1, -2), -2);
expect(Calculate.multiply(1, 0), 0);
});
// 除法计算 Divide
test('static [divide]计算除', () {
expect(Calculate.divide(1, 2), .5);
expect(Calculate.divide(1, -2), -.5);
});
// 小费计算 Tips
test('static [percent]计算百分数', () {
expect(Calculate.percent(1, 2), 0.02);
expect(Calculate.percent(1, -2), -0.02);
expect(Calculate.percent(100, 2), 2);
});

// 数字list计算 Calculate for list
test('static [ListCalculate]数字list计算', () {
expect(Calculate.ListCalculate(['1', '-', '5']), -4);
expect(Calculate.ListCalculate(['1', '+', '5']), 6);
expect(Calculate.ListCalculate(['-1', '×', '5']), -5);
expect(Calculate.ListCalculate(['1', '%', '5']), 0.05);
});
// 数字字符串转换成数字list Convert from string to list
test('static [toNumberList]数字字符串转list', () {
expect(Calculate.toNumberList('1-5'), ['1', '-', '5']);
expect(Calculate.toNumberList('-1+5'), ['-','1', '+', '5']);
expect(Calculate.toNumberList('1×5'), ['1', '×', '5']);
expect(Calculate.toNumberList('1%5'), ['1', '%', '5']);
});
// 数字list去除符号相同 Remove redundant operators from list
test('static [formatList]数字字符串转list', () {
expect(Calculate.formatList(['1', '+', '-', '5']), ['1', '-', '5']);
expect(Calculate.formatList(['1', '+', '+', '5']), ['1', '+', '5']);
expect(Calculate.formatList(['1', '+', '×', '5']), ['1', '×', '5']);
expect(Calculate.formatList(['1', '+', '%', '5']), ['1', '%', '5']);
});
// 字符串计算 Calculate from string
test('Calculate->[LinierCalculate]计算一个字符串计算', () {
expect(Calculate.LinierCalculate('1+.3+5'), 6.3);
expect(Calculate.LinierCalculate('-1+0.3+5'), 4.3);
expect(Calculate.LinierCalculate('-1*3+5'), 2);
expect(Calculate.LinierCalculate('-1/2+5'), 4.5);
});
copied to clipboard

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.