我把762
乘以0.11
,但结果是83.82000000000001
(不正确)
如何避免这个数字83.82000000000001
。
我想得到正确的数字83.82
。
我不想指定小数,因为其他数学运算可能会返回不同小数的数字。
void main(){
int number = 762;
print('number= $number');
double d = 0.11 * number;
print('number * 0.11 = $d');
print('number * 0.11 = ${d.toString()}');
// I don't want to specify the decimals
print('this is the correct result= ${d.toStringAsFixed(2)}');
}
字符串
结果:
number= 762
number * 0.11 = 83.82000000000001
number * 0.11 = 83.82000000000001
this is the correct result= 83.82
型
1条答案
按热度按时间axzmvihb1#
基于
double
类型的限制,答案是正确的,您可以在这里阅读更多信息:Dart double division precision但是如果你想以无限的精度进行计算,你可以使用
decimal
包来做例如。以下内容:字符串
它将输出:
型