如何使用Dart编写代码求解一元一次方程X*A+B=0
Dart实现一元一次方程求解代码
// 求解方程 X*A + B = 0 void solveEquation(double A, double B) { // 浮点精度判断阈值,规避double精度误差问题 const precisionThreshold = 1e-9; if (A.abs() < precisionThreshold) { if (B.abs() < precisionThreshold) { print("解为全体实数"); } else { print("方程无解"); } } else { double x = -B / A; print("方程解为 X = $x"); } } // 测试调用 void main() { solveEquation(3, 6); // 输出 方程解为 X = -2.0 solveEquation(0, 0); // 输出 解为全体实数 solveEquation(0, 2); // 输出 方程无解 }
注意事项
- 由于double是浮点类型,存在计算精度误差,不能直接用
== 0判断A、B是否为0,需要通过判断数值绝对值是否小于极小阈值的方式做近似判断,阈值可以根据你实际需要的精度调整。 - 如果不需要直接打印结果,可以修改方法的返回值,比如返回
double?类型,返回null代表无解,返回特殊标识代表全体实数,更方便后续逻辑调用。
内容的提问来源于stack exchange,提问作者MrCortex
相关产品推荐
相关产品推荐

