无法找到或找出适用于 Dart 的解决方案。
我已经尝试过:
1. toStringAsFixed() - 本轮
2. double.parse(number.toStringAsFixed()) - 本轮
3. num - num % 0.01 - 本轮
我在 SO 上找到了一些解决方案,但它们要么使用 Flutter/Dart 上不可用的功能,要么不适合我。
任何帮助将不胜感激。
以@Irn 美丽的答案为基础。
下面的函数可让您指定所需的小数位数/小数位数
double truncateToDecimalPlaces(num value, int fractionalDigits) => (value * pow(10,
fractionalDigits)).truncate() / pow(10, fractionalDigits);
Example
truncateToDecimalPlace(4321.92385678, 3) // 4321.923
或者我最喜欢的方式是使用 Dart 扩展
extension TruncateDoubles on double {
double truncateToDecimalPlaces(int fractionalDigits) => (this * pow(10,
fractionalDigits)).truncate() / pow(10, fractionalDigits);
}
这使您可以像这样在双精度对象上调用该函数
Usage
4321.92385678.truncateToDecimalPlaces(3); // 4321.923
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)