Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Dart中将双精度转换为整数?_Dart - Fatal编程技术网

如何在Dart中将双精度转换为整数?

如何在Dart中将双精度转换为整数?,dart,Dart,以下操作会产生以下错误: int calc_ranks(ranks) { double multiplier = .5; return multiplier * ranks; } 返回类型double不是int,如方法calc\u ranks所定义。如何将其舍入/转换为int?使用以下方法将其舍入: 您只需使用将num转换为int int计算等级(等级) { 双乘数=.5; return(乘数*秩).toInt(); } 请注意,要执行完全相同的操作,您可以使用: int计算等级(等

以下操作会产生以下错误:

int calc_ranks(ranks)
{
  double multiplier = .5;
  return multiplier * ranks;
}
返回类型
double
不是
int
,如方法
calc\u ranks
所定义。如何将其舍入/转换为
int

使用以下方法将其舍入:

您只需使用将
num
转换为
int

int计算等级(等级)
{
双乘数=.5;
return(乘数*秩).toInt();
}
请注意,要执行完全相同的操作,您可以使用:

int计算等级(等级)=>ranks~/2;

您可以使用以下任一选项

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

双掷镖到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
您还可以尝试在颤振中将这些方法转换为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
从字符串到int->

  • 如果您使用int格式的字符串,如“10” 然后使用-->

    int.parse(值)

    但如果字符串采用双格式,如“10.6” 然后像这样使用-->

    double.parse(value.toInt())

  • 将double转换为int

    doubleValue.toInt()

  • 很容易

    (20.8).round()
    
    对于字符串

    double.tryParse(20.8).round()
    

    或者将其截断为int:return(乘数*秩).toInt();(请参阅)@everation我遇到过这样的情况:
    (0.57*100)。toInt()
    解析为
    56
    ,所以伙计们,小心点。那么,toInt和地板或圆形和天花板有什么区别呢?首先,这个问题不是关于
    圆形在Dart中的意思。第二,其余的东西都是照搬的。请不要这样发垃圾邮件。您只是在复制其他答案。@iDecode Q:“如何在Dart中将一个double转换为一个int?”这个答案是:“使用round()我们可以得到一个最接近double的整数”。为什么你认为答案与问题无关?@Ruben其他用户已经提供了这个答案。一次又一次地发布同样的东西是没有好处的。我已经告诉过你,从现在起我会小心的,即使这样,你为什么要投反对票留下评论呢。虽然这个方法在这方面是相同的,但是试着用不同的方式来解释它,通过这种方式,我给出了一个如何取数字的例子。在这个例子中,我试着解释一个整数如何与一个double最接近。通过此整数num1=(2.3).round();//2 int num2=(2.5).round();//3整数num3=(-2.3).round();//-2 int num4=(-2.5).round();//-3.
    
    double.tryParse(20.8).round()