System.FormatException C#

时间:2016-03-01 00:37:58

标签: c#

我正在尝试创建一个程序,将char转换为数字,将数字乘以3,创建3个随机数,这些数字将加起来,然后将它们显示在一个用逗号分隔的文本框中。< / p>

我创建的随机数介于0和encodedValue的值之间,将它们平均分配到k并将随机数除以k,然后再将它们舍入为a a = rnd.Next(0, encodedValue); b = rnd.Next(0, encodedValue); c = rnd.Next(0, encodedValue); k = (a + b + c) / encodedValue; a /= k; b /= k; c /= k; a = Math.Round(a); b = Math.Round(b); c = Math.Round(c); 整数。

encodedString

我缩小代码以发现这3行是问题,我试图将这些数字添加到encodedString += a.ToString("D3") + ","; encodedString += b.ToString("D3") + ","; encodedString += c.ToString("D3") + ","; ,使它们长3位数,并在数字的末尾添加逗号:< / p>

 System.FormatException: Format specifier was invalid.

我收到错误

wrapper = new google.visualization.ChartWrapper({
        dataSourceUrl: 'ChartData?target=#{param.target}&chartType=Table',
        containerId: 'visualization',
        chartType: 'Table',

1 个答案:

答案 0 :(得分:0)

无论如何,我解决了自己的问题。

问题似乎是值a bc不会在"D3"中接受.ToString("D3")作为格式选项,而是我希望我创建一个.ToString("000")的自定义格式选项。

完整的代码是:

encodedString += a.ToString("000") + ",";
encodedString += b.ToString("000") + ",";
encodedString += c.ToString("000") + ",";