这是我的代码.我无法理解是什么问题,但Visual Studio 2008说
运算符(*)不能应用于'object'和'double'类型的操作数
谢谢 ...
#region Using directives
using System;
using System.Collections.Generic;
using System.Text;
#endregion
namespace DailyRate
{
class Program
{
static void Main(string[] args)
{
(new Program()).run();
}
public void run()
{
double dailyRate = readDouble("Enter your daily rate: ");
int noOfDays = readInt("Enter the number of days: ");
writeFree(CalculateFee(dailyRate, noOfDays));
}
private void writeFree(object p)
{
Console.WriteLine("The consultant's fee is: {0}", p * 1.1);
}
private double CalculateFee(double dailyRate, int noOfDays)
{
return dailyRate * noOfDays;
}
private int readInt(string p)
{
Console.Write(p);
string line = Console.ReadLine();
return int.Parse(line);
}
private double readDouble(string p)
{
Console.Write(p);
string line = Console.ReadLine();
return double.Parse(line);
}
}
}
Run Code Online (Sandbox Code Playgroud)
Eri*_*ert 26
到目前为止十六个答案,十五个答案告诉你做错了.
首先,正如大家告诉你的那样,你不能将对象乘以双倍.但解决方案不是将双倍乘以一倍! 你正在进行财务计算; 从不使用双打进行财务计算.双打是物理问题,而不是金钱问题.
正确的做法是首先停止使用双打.你应该使用decimal,而不是double.
(当你解决这个问题时:C#中的标准是对CapitalizeYourMethodsLikeThis,而不是喜欢这个.)
| 归档时间: |
|
| 查看次数: |
3477 次 |
| 最近记录: |