加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

需要帮助确定小C#编号中的bug来源到百分位转换程序

发布时间:2020-12-16 00:02:21 所属栏目:百科 来源:网络整理
导读:我对编程很新,但在过去的2-3个月里一直在使用 Java,并决定在C#上试一试只是为了好玩,因为我听说它们很相似.我正在使用这个程序的问题,这只是某人将int转换为百分比的一种方式,是它正确地输入我的所有输入,但百分比总是显示为零!例如,有两个输入提示:一个询
我对编程很新,但在过去的2-3个月里一直在使用 Java,并决定在C#上试一试只是为了好玩,因为我听说它们很相似.我正在使用这个程序的问题,这只是某人将int转换为百分比的一种方式,是它正确地输入我的所有输入,但百分比总是显示为零!例如,有两个输入提示:一个询问您要转换的号码,另一个询问您的号码是什么.两个提示后,程序正确显示“你的百分比是:”,然后只要写0,无论我用什么数字输入,请帮助!

[码]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace NumToPercentage
{
class Program
{
    static void Main(string[] args)
    {
        int userScore,userTotalScore,userPercentage;
        string userInput,userTotal;


        Console.WriteLine("Welcome to the number to percentile conversion program!");

        Console.WriteLine("Please enter your number here: ");
        userInput = Console.ReadLine();
        userScore = int.Parse(userInput); 

        Console.WriteLine("Please enter what the number is out of (i.e. 100,42,37,etc.): ");
        userTotal = Console.ReadLine();
        userTotalScore = int.Parse(userTotal);

        userPercentage = (userScore/userTotalScore)*100; 

        Console.WriteLine("Your percentage is: " + userPercentage); 
        Console.WriteLine("Press any key to exit.");
        Console.ReadLine();
    }
}
}

[/码]

解决方法

问题是整数数学,它向零舍入.

> 1除以100为0.
> 99除以100是0.
> 199除以100是1.

执行计算时,至少将其中一个操作数转换为浮点类型(double,float,decimal).

double result = ((double)x / y) * 100;

如果需要,如果您对小数位不感兴趣,可以始终将结果强制转换为整数.

int finalPercent = (int)result;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读