首页 > 解决方案 > 颤振中的舍入问题

问题描述

在此处输入图像描述

我需要用我的颤振应用程序解决这个舍入问题。这个应用程序包含一个测验,用户可以选择 True/False 来回答问题。在这种情况下,有 11 个问题,在用户回答后,正确答案除以问题总数并找到其百分比。

如上所示,圆形进度指示器包似乎对这种分数没有问题,但我的文本小部件显示了一些奇怪的东西。我试过四舍五入、截断和toStringAsFixed()方法,但它们都返回 0。我不知道从哪里开始解决这个问题。

 percent = _correctScore / questionBank.length;//calculating percentage
  debugPrint(percent.round().toString()); //returns 0

              CircularPercentIndicator(
            radius: deviceInfo.width / 2.5,
            lineWidth: 8.0,
            backgroundColor: const Color(0x00000000),
            animationDuration: 2000,
            startAngle: 225,
            animation: true,
            percent: quizData.percent,
            circularStrokeCap: CircularStrokeCap.round,
            progressColor: category.color['decoration'],
            center: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: [
                Text(
                  "${quizData.percent * 100}%",
                  style: const TextStyle(
                    fontWeight: FontWeight.bold,
                    fontSize: 32.0,
                  ),
                ),
                const Text(
                  'YOUR SCORE',
                  style: TextStyle(
                    fontSize: 14.0,
                  ),
                ),
              ],
            ),
          )

标签: flutterdart

解决方案


它实际上按预期工作。假设题库有 10 个问题,用户答对了 3 个问题:

  • 正确的问题比率是 3/10 = 0.333...如果你四舍五入,它将是 0。

  • 正确的问题百分比是 3/10 * 100 = 33.333...如果你四舍五入,它将是 33。

你可能想做这样的事情:

percent = 100 * _correctScore / questionBank.length; //calculating percentage
debugPrint(percent.round().toString()); // returns the correct percentage

推荐阅读