0

我是编程新手,所以请多多包涵,我有一个很简单的问题,我想解决这个问题,希望能从那里解决。我想将一个数字乘以 0.23,这样我就可以得到一个百分比。当我调试它不起作用时,我知道这不是一个大问题,但我一直在四处寻找,我无法弄清楚,有什么帮助吗?

 float percengage = .23f;

//Cost of Paint
        percengage = .23f;
        totalCostOfPaint = pricePaintPerGallon * percengage;

 Console.WriteLine("Cost of paint:" + totalCostOfPaint);
4

2 回答 2

4

您的totalCostOfPaint变量需要被声明为float, double, 或decimal这样才能正常工作,如所写。

在处理货币值时,将其decimal用于所有计算是很常见的,因为它提供了更高的精度。

请注意,您可能还想更改格式(以货币形式打印):

  // Note that pricePaintPerGallon needs to be declared properly, as well...

  decimal percengage = 0.23M;
  decimal totalCostOfPaint = pricePaintPerGallon * percengage;
  Console.WriteLine("Cost of paint: {0:C}", totalCostOfPaint);
于 2013-11-04T21:44:18.693 回答
2

我看到的唯一问题是您没有声明totalCostOfPaintandpricePaintPerGallon变量。由于它不起作用,我只能假设您没有在代码中的其他地方声明这些。如果你这样做,它工作正常:

float percengage = .23f;
float pricePaintPerGallon = .99f;    
float totalCostOfPaint = pricePaintPerGallon * percengage;

Console.WriteLine("Cost of paint:" + totalCostOfPaint);

演示:http ://rextester.com/KNIUNQ58221

如您所知,C# 中的变量必须在使用之前声明(即设置和描述)。编译器需要知道percengagepricePaintPerGallontotalCostOfPaint是局部变量,并且它们的类型是float。您已经percengage通过将单词float放在第一行前面来做到这一点。

于 2013-11-04T21:48:31.577 回答