При использовании экспоненциального оператора в C # компилятор сообщал: " Оператор ^ не может быть применен к операндам типа int и double. " В то время как то же самое компилировалось без каких-либо ошибок в VB.NET.
//C# Code, error while compiling
decimal i = 1 * (1 + 1) + 75 * 1 * (1 + 1) ^ 0.5;
'VB.NET Code. Compiled without errors
Dim i as decimal = 1 * (1 + 1) + 75 * 1 * (1 + 1) ^ 0.5 'outputs 108.066017177982 as expected
Чтобы обойти ошибку C #, я обновил код для использования Math.Pow (), который выдавал неправильный вывод
decimal i = 1 * (1 + 1) + 75 * 1 * (1 + 1);
i = (decimal)Math.Pow((double)i, 0.5);
Console.WriteLine(i); //Outputs 12.328828005938 instead of 108.0660172
//Next i changed the datatype to double, still same results
double i = 1 * (1 + 1) + 75 * 1 * (1 + 1);
i = Math.Pow(i, 0.5);
Console.WriteLine(i); //Outputs 12.328828005938 instead of 108.0660172
При выполнении той же формулы в Excel выдает 108.0660172, как и ожидалось,= 1 * (1 +1) + 75 * 1 * (1 + 1) ^ 0,5
Пожалуйста, помогите мне решить эту проблему.