Я использую этот URL: http://converter.telerik.com/ для преобразования кода. Код, который необходимо преобразовать в C#:
Dim rand As New Random()
Function MyRandomNumber() As String
Dim min As Decimal = 0.01D
Dim max As Decimal = 9.91D
Dim decimalPlaces = 3
Dim multiplier = CDec(Math.Pow(10, decimalPlaces))
Dim range = (max - min) * multiplier
Dim val = rand.Next(0, CInt(range + 1))
Return (val / multiplier + min).ToString()
End Function
Но когда я в последний раз сделал это и скопировал его в мое решение c#, выдается ошибка.
Оператор «+» нельзя применять к операндам типа «double» и «decimal»
Преобразованный код C#, который выполняет работу:
private Random rand = new Random();
public string MyRandomNumber()
{
decimal min = 0.01M;
decimal max = 9.91M;
var decimalPlaces = 3;
var multiplier = System.Convert.ToDecimal(Math.Pow(10, decimalPlaces));
var range = (max - min) * multiplier;
var val = rand.Next(0, System.Convert.ToInt32(range + 1));
return (val / (double)multiplier + min).ToString();
}
UNDERLINE RED - это строка с ошибкой:
(множитель / (двойной) множитель + мин)