当我在C#中进行分割时,它会自动向下舍入.看这个例子:
double i;
i = 200 / 3;
Messagebox.Show(i.ToString());
Run Code Online (Sandbox Code Playgroud)
这显示了一个包含"66"的消息框.然而,200/3实际上是66.66666.
有没有办法可以避免这种四舍五入并保持像66.6666667这样的数字?
为什么以下代码的输出等于0或serven?
cout << 7/9*9; //output 0 (zero) why?
float nine = 9;
float seven = 7;
float i = seven/nine*nine;
cout << i //output 7 Why?
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
我正在计算要添加到数据网格中的百分比,但是当我报告数据时,它总是返回0,这是我做错了什么?
如果我有以下情况:变量equidadeadeInstalada的值为10,而目标为20,则concluido必须返回50,但返回0
private void AdicionarPessoa()
{
string Valida = ValidaPessoa();
if (Valida.Equals(""))
{
double concluido=0, falta=0;
int quantidadeInstalada = Convert.ToInt32(ttbQuantidade.Text);
int meta = Convert.ToInt32(ttbMetaPessoa.Text);
concluido = (quantidadeInstalada/meta)*100;
falta = 100-concluido;
MessageBox.Show(concluido.Text);
}
else
MessageBox.Show(Valida);
}
Run Code Online (Sandbox Code Playgroud) var months = 36;
Run Code Online (Sandbox Code Playgroud)
要迭代这些年并且可以访问每年的数字(根据我有多少个月(上图)),我现在正在做:
var years = Convert.ToInt32(months / 12);
for (int i = 1; i <= years; i++)
{
var year = 12 * i;
}
Run Code Online (Sandbox Code Playgroud)
但是,我确信必须有一种方法来填充新的整数列表作为foreach循环的一部分并循环它们(让我访问当前元素而不是在for循环内再次重新计算它).我正在寻找写作的帮助foreach.LINQ可能是一个 .Select()?我真的不喜欢这种当前的方法.
期望的结果
foreach(var year in new List<int>(){ 1, 2, 3})
{
}
Run Code Online (Sandbox Code Playgroud)