-4

如果这似乎是重复的,我深表歉意,但我找到的答案都没有解决我的问题。

我有以下计算:

 double NewTotal = 12.0 * (SumCopay + Premium);

SumCoPay 和 Premium 也是双倍的。

我正在尝试像这样格式化输出:

 string.Format("{0:0.00}" , NewTotal.ToString())

但我收到“输入字符串的格式不正确”错误。

故障排除提示首先说:“将字符串转换为 DateTime 时...”

所以我猜它认为我的价值是一个日期。

我目前处理的 NewTotal 的值为 1100.4

我也试过:

 NewTotal.ToString("N2")

但我得到了同样的错误。

4

2 回答 2

1

您在您使用的格式化程序string.Format不适用于strings,但您在格式化之前将其转换double为 a 。string如果您只是.ToString()NewTotal变量中删除 ,它将起作用。

string.Format("{0:0.00}" , NewTotal);

编辑:我刚刚在 VS2012 中启动了这段代码,它运行良好:

using System;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            double SumCopay = 3.45;
            double Premium = 2.34;
            double NewTotal = 12.0 * (SumCopay + Premium);
            Console.WriteLine("{0:0.00}", NewTotal);
            Console.Read();
        }
    }
}
于 2013-11-05T13:47:29.087 回答
1

看来你正在喂string.Format一个字符串,而不是一个双。

我认为删除.ToString()NewTotal.ToString()解决您的问题。

于 2013-11-05T13:48:57.187 回答