如何在double中显示2个小数点

时间:2014-02-26 20:59:15

标签: c# double

我想在console.WritLine中显示平均值的2个小数点。现在它显示了一个整数。

string input = "";
int total=0 ;
int numbersEntered =0 ;
double average=0.00 ;

total += Convert.ToInt32(input);
numbersEntered++;
average = (total / numbersEntered);
Console.WriteLine("Total: {0}\t Numbers Entered: {1}\t Average: {2:#.##}\t", total, numbersEntered, average);
Console.ReadKey();

3 个答案:

答案 0 :(得分:2)

同时声明totalnumbersEntered加倍。你使用int,然后用整数除整数将返回整数而不是带小数点后2位的double。

string input = "";
double total=0 ;
double numbersEntered =0 ;
double average=0.00 ;

total += Convert.ToInt32(input);
numbersEntered++;
average = (total / numbersEntered);
Console.WriteLine("Total: {0}\t Numbers Entered: {1}\t Average: {2:#.##}\t", total,    numbersEntered, average);
Console.ReadKey();

答案 1 :(得分:1)

我认为这是C#?您可能希望添加标记以获得更好的答案。如果是,请尝试将此Console.WriteLine替换为:

 Console.WriteLine("Total: {0}\t Numbers Entered: {1}\t Average: {2:F2}\t",
                   total, numbersEntered, average);

我找到的文档是herehere

答案 2 :(得分:0)

更改

average = (total / numbersEntered);

average = ((double)total / numbersEntered);

两个整数之间的运算符/进行整数除法。只有在执行除法后,结果(商)才会从int转换为double,但到那时精度已经丢失。

我将其中一个操作数(左侧)从int转换为double;然后,自动转换右操作数(从intdouble的转换是隐式的)。当/运算符的操作数为double时,执行浮点除法,这就是你想要的。