_TypeError(类型“int”不是类型转换中“double”类型的子类型)

问题描述 投票:0回答:1
Future<void> _fetchChartData() async {
    final response = await http.get(Uri.parse(
        'https://finnhub.io/api/v1/stock/candle?symbol=${widget.symbol}&resolution=${widget.resolution}&from=${widget.fewDaysAgoTimestamp}&to=${widget.currentTimestamp}&token=$apiKey'));

    if (response.statusCode == 200) {
      final data = json.decode(response.body);
      final List<_ChartData> newChartData = [];

      final List<double> values = List.castFrom(data['c']);
      final List<int> timestamps = List.castFrom(data['t']);

      for (int i = 0; i < values.length; i++) {
        final DateTime date =
            DateTime.fromMillisecondsSinceEpoch(timestamps[i] * 1000);
        var randomValue = values[i];
        newChartData.add(
          _ChartData(date, randomValue),
        );

        if (i == 0) {
          _maxValue = _minValue = randomValue.toInt();
        } else {
          _maxValue = max(_maxValue, randomValue.toInt());
          _minValue = min(_minValue, randomValue.toInt());
        }
      }

      setState(() {
        _chartData = newChartData;
        _isGoingUp = _chartData.first.y <= _chartData.last.y;
      });
    }
  }

''' var randomValue = 值[i]; ''' 在这一行中,我收到类似“_TypeError(类型'int'不是类型转换中'double'类型的子类型)”的错误

在 initstate api 调用已完成但显示此错误所以你能帮我找到错误以及我的代码中有什么问题吗

android api dart integer double
1个回答
0
投票

使用.round();像这样 _maxValue = max(_maxValue, randomValue.round());

© www.soinside.com 2019 - 2024. All rights reserved.