46

我没有看到任何方法可以在 Dart 中舍入一个数字?

import 'dart:math';

main() {
  print(Math.round(5.5)); // Error!
}

http://api.dartlang.org/docs/bleeding_edge/dart_math.html

4

5 回答 5

64

是的,有办法做到这一点。该类num有一个名为的方法round()

var foo = 6.28;
print(foo.round()); // 6

var bar = -6.5;
print(bar.round()); // -7
于 2012-11-07T18:32:01.383 回答
11

在 Dart 中,一切都是对象。因此,例如,当您声明一个 num 时,您可以通过num 类中的 round 方法对其进行四舍五入,以下代码将打印 6

num foo = 5.6;
print(foo.round()); //prints 6

在你的情况下,你可以这样做:

main() {
    print((5.5).round());
}
于 2012-11-07T18:36:55.287 回答
3

这个等式可以帮助你

int a = 500;
int b = 250;
int c;

c = a ~/ b;
于 2018-09-24T12:24:03.797 回答
2

2021 年 3 月更新:

round()方法已移至https://api.dart.dev/stable/2.12.2/dart-core/num/round.html。以上所有链接都是错误的。

于 2020-06-24T12:42:40.227 回答
1

也许这在特定情况下会有所帮助, floor() 将向负无穷方向舍入

https://api.dart.dev/stable/2.13.4/dart-core/num/floor.html

void main() {
 var foo = 3.9;
 var bar = foo.floor();
 print(bar);//prints 3
}
于 2021-08-16T07:27:11.640 回答