如何在Dart中将double转换为int?


105

以下产生以下错误:

int calc_ranks(ranks)
{
  double multiplier = .5;
  return multiplier * ranks;
}

返回类型double不是int方法定义的a calc_ranks。我如何舍入/铸造到int

Answers:




70

您可以使用以下任何一种。

double d = 20.5;

int i = d.toInt(); // i = 20
int i = d.round(); // i = 21
int i = d.ceil();  // i = 21
int i = d.floor(); // i = 20

因此,toInt与地板或圆形与天花板之间有什么区别
Hector Aguero

0

飞镖将double转换为int

使用round()方法,我们可以获得最接近双精度数的整数。

例如:

int num1 = (2.3).round();
// 2

int num2 = (2.5).round();
// 3

int num3 = (-2.3).round();
// -2

int num4 = (-2.5).round();
// -3

您也可以尝试在Flutter中将这些方法将double转换为int

  double x = 2.5;
 
  int a = x.toInt();
  int b = x.truncate();
  int c = x.round();
  int d = x.ceil();
  int e = x.floor();
 
  print(a); // 2
  print(b); // 2
  print(c); // 3
  print(d); // 3
  print(e); // 2

首先,这个问题round与Dart的含义无关。其次,其余的东西仅从现有答案中复制。请不要这样垃圾邮件。您只是在复制其他答案。
iDecode

@iDecode问:“如何在Dart中将double转换为int?” 答案:“使用round(),我们可以获得最接近于double的整数”。您怎么认为答案与问题无关?
鲁本

@Ruben该答案已由其他用户提供。一遍又一遍地发布相同的东西没有任何好处。
iDecode

我已经告诉过您,从现在开始,我会一直保重,即使那样,您为什么还要拒绝投票也要发表评论。尽管此方法相同,但尝试以不同的方式解释它,因此,我给出了一个如何获取数字的示例
Paresh Mangukiya

在此,我试图解释整数如何最接近双精度数。通过此int num1 =(2.3).round(); // 2 int num2 =(2.5).round(); // 3 int num3 =(-2.3).round(); // -2 int num4 =(-2.5).round(); // -3
Paresh Mangukiya
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.