C# 四舍五入到小数点后4位不起作用?

C# 四舍五入到小数点后4位不起作用?,c#,format,decimal,C#,Format,Decimal,这样做: double dblRateEvalResult = -0.52; string strNewResult = dblRateEvalResult.ToString("000.####").TrimStart('-'); 我想: 000.5200 我得到: 000.52 我做错了什么?您需要的是0自定义说明符,而不是 (在您的代码中,您试图将字符串指定给一个双精度值,我猜这是一个输入错误) 见: 如果正在格式化的值在以下位置有一个数字: 零出现在格式字符串中,该数字被复制到 结果

这样做:

double dblRateEvalResult = -0.52;
string strNewResult = dblRateEvalResult.ToString("000.####").TrimStart('-');
我想:

000.5200
我得到:

000.52

我做错了什么?

您需要的是
0
自定义说明符,而不是

(在您的代码中,您试图将字符串指定给一个双精度值,我猜这是一个输入错误)

见:

如果正在格式化的值在以下位置有一个数字: 零出现在格式字符串中,该数字被复制到 结果字符串;否则,结果字符串中将显示零


是的,那个双/字符串是一个打字错误。。。我正确地更新了我的问题只是一个附带问题-这是否意味着我可以使用任何字符来代替
0
?@fastrack,不,我不这么认为,您可以在这里找到更多信息
string str =  dblRateEvalResult.ToString("000.0000").TrimStart('-');