我有一个列表
public class PolynomialCoefficients<T> : IEnumerable<T>
{
private List<T> coefficients;
public string ToString(string format)
{
StringBuilder polynomialString = new StringBuilder();
char separator = ':';
foreach(T coefficient in coefficients)
{
polynomialString.Append(String.Format("0.0000", coefficient.ToString()));
polynomialString.Append(separator);
}
polynomialString.Remove(polynomialString.Length - 1, 1);
return polynomialString.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
让我们说列表包含元素:1,2,3我想调用ToString("0.000")并得到输出:1.000:2.000:3.000但每次输出类似于0.000:0.000:0.000
String.Format需要一种非常特殊的字符串.你给它打印了一个文字字符串:
String.Format("0.0000", coefficient.ToString());
Run Code Online (Sandbox Code Playgroud)
所以它只是打印出来.如果你给它一个占位符:
String.Format("{0}", coefficient.ToString("0.0000"));
Run Code Online (Sandbox Code Playgroud)
它将替换传递的参数.您还可以指定占位符的格式:
String.Format("{0:f4}", coefficient);
Run Code Online (Sandbox Code Playgroud)
"f4"会给你你的格式.可以在MSDN上找到标准格式字符串
| 归档时间: |
|
| 查看次数: |
58 次 |
| 最近记录: |