flutter - 我们可以在 Flutter 中动态设置小数点的精度吗
问题描述
我有一个多客户会计应用程序。对于不同的客户端,双精度中小数点的偏好是不同的。有没有办法在全局计算和显示中设置双精度?
解决方案
恐怕没有办法。
我有一个与您的非常相似的应用程序,并且我为所有数字创建了一个类:
const int precision = 3;
class NumberEntry implements Comparable<NumberEntry> {
final num value;
NumberEntry(num input) : value = _round(input);
static num _round(num input) {
return num.parse(input.toStringAsFixed(precision));
}
NumberEntry operator +(NumberEntry other) => NumberEntry(value + other.value);
NumberEntry operator -(NumberEntry other) => NumberEntry(value - other.value);
NumberEntry operator *(NumberEntry other) => NumberEntry(value * other.value);
NumberEntry operator /(NumberEntry other) => NumberEntry(value / other.value);
bool operator >(NumberEntry other) => value > other.value;
bool operator <(NumberEntry other) => value < other.value;
bool operator >=(NumberEntry other) => value >= other.value;
bool operator <=(NumberEntry other) => value <= other.value;
@override
int compareTo(NumberEntry other) {
if (value == other.value) {
return 0;
}
return value > other.value ? 1 : -1;
}
@override
String toString() {
return displayText;
}
String get displayText {
return value.toStringAsFixed(precision);
}
String get displayTextWithSign {
final String additionalSign = !value.isNegative ? '+' : '';
return additionalSign + displayText;
}
NumberEntry abs() {
return NumberEntry(value.abs());
}
}
您可以修改它以满足您的需要。
推荐阅读
- sql - 如果未找到下一个值,则在第一次出现时存在最大日期和按状态排序
- mongodb - Mongoose 按嵌套数组的最后一个元素中的字段排序
- reactjs - 如何将此承诺返回的函数更改为异步等待?
- r - 错误:每当我尝试安装任何 R 包时,延迟加载都会失败
- reactjs - 如何在 Next.js 中为同一页面使用不同的路由?
- go - 如何捕获 oc 命令的输出: oc get endpoints -n default -o yaml kubernetes inside a redhat ocp container
- database - 雪花 - 双引号
- xml - URI 未在 intelij 2019 版本中注册
- html - 猫头鹰轮播未显示在 Bootstrap 5 上
- vb.net - Visual Studio 编辑模式下的表单解析问题