RandomDecimal
最大値と小数点以下の精度を指定できる関数を作成しています。ただし、選択された最後のランダムな数字がたまたまゼロの場合、それは削除され、精度はオフになります。このゼロを失わないことは可能ですか?文字列に変換してから小数に戻してみましたが、まだ削除されています。
public static decimal RandomDecimal(int maxValue, int precision)
{
decimal result = new Random().Next(maxValue);
if (maxValue == 0)
{
return result;
}
int i = 1;
decimal digit = 0;
while (i <= precision)
{
digit = new Random().Next(10);
digit = (digit / (Convert.ToDecimal(Math.Pow(10, i))));
result = result + digit;
i++;
}
// if (digit == 0)
// {
// string resultstring = Convert.ToString(result) + '0';
// result = Convert.ToDecimal(resultstring);
// } This code doesn't do anything because the zero is still dropped.
return result;
}