Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在十进制和双精度之间除法_C# - Fatal编程技术网

C# 如何在十进制和双精度之间除法

C# 如何在十进制和双精度之间除法,c#,C#,我需要将282.48常数除以十进制变量消耗,所以我尝试 Console.WriteLine("Your fuel consumption rate is " + Math.Round(consumption, 2) + "lt/100km or " + (282.48/consumption) + "gpm"); 但是VisualStudio告诉我 /不能应用于双精度和十进制 我该怎么做才能让这个工作>282.48/消费试试这个 Console.WriteLine("Your fuel co

我需要将282.48常数除以十进制变量消耗,所以我尝试

Console.WriteLine("Your fuel consumption rate is " + Math.Round(consumption, 2) + "lt/100km or " + (282.48/consumption) + "gpm");
但是VisualStudio告诉我

/不能应用于双精度和十进制

我该怎么做才能让这个工作>282.48/消费

试试这个

 Console.WriteLine("Your fuel consumption rate is " + Math.Round(consumption, 2) + "lt/100km or " + (282.48/(decimal)consumption) + "gpm");
这会奏效的

decimal consumption = 282.48m;
Console.WriteLine("Your fuel consumption rate is " + Math.Round(consumption, 2) + "lt/100km or " + (282.48m / consumption) + "gpm");

通过在c中添加一个m-282.48m/consumpion

将282.48标记为十进制值。默认情况下,除非您明确指定,否则十进制常量是双数据类型。您可以将数字转换为十进制或使用表示十进制的M后缀

例如,下面的方法应该有效

282.48M/consumption

将双变量强制转换为十进制

    decimal consumptionValue = System.Convert.ToDecimal(consumption);
    Console.WriteLine("Your fuel consumption rate is " + Math.Round(consumption, 2) + "lt/100km or " + (282.48/consumptionValue ) + "gpm");
正如您在文档中看到的,浮点和十进制除法有3种用法

float operator /(float x, float y);
double operator /(double x, double y);

您的除法尝试双精度/十进制,因为没有任何后缀,282.48默认为双精度,这是不可用的

您可以显式地将您的消费量转换为两倍于

(282.48 / (double)consumption)

请试着研究一下你的问题,然后再发布将你的报价复制到谷歌为我带来970万条结果。。。上面是重复的。。
(282.48 / (double)consumption)