我正在创建一个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;
}