2016-07-04 131 views
-5

你好家伙/女孩我在我的程序中需要一些帮助,通过分为三来计算总数,首先是总数的80%,总数是10%,最后是总数的10%。我曾试图将其转换为double,但如果总数为5,则第一个输出为4,第二个为0,第三个为0,这是错误的,因为我期望输出的总数保持不变。 这里是我的代码计算百分比c#

Double total = 5; 
    Double a,b,c,tot; 
    a = total*0.80; 
    b = total*0.10; 
    c = total*0.10; 
    tot = a+b+c; 
    Int convert = Convert.ToInt32(tot) 
+1

请发表你有什么到目前为止已经试过。 – user3378165

+3

你应该显示你已经尝试过,这听起来像你用一个整数除整数 – Sayse

+1

首先看看[如何提出问题。](http://stackoverflow.com/help/how-to-ask)然后编辑你的问题 – Marusyk

回答

0

这应该为你工作:

Int convert = Convert.ToInt32(tot + 0.5)

这样,tot将最接近的整数。知道2.5例如将是3等等。

但是,您可能需要它abc这样的:

tot = Convert.ToInt32(a + 0.5) + Convert.ToInt32(b + 0.5) + Convert.ToInt32(c + 0.5);

+1

不能隐含转换类型double到int – shampoo

+0

做转换。现在试试@shampoo –

+0

我的意思是总体本身不是问题。它产生了一个= 4,这是80%b = 0和a = 0。这就是我怎么能把它分成以上百分比 – shampoo