C#格式异常(double to string)

时间:2013-11-05 13:46:13

标签: c#

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

我有以下计算:

 double NewTotal = 12.0 * (SumCopay + Premium);

SumCoPay和Premium也是双打。

我正在尝试格式化输出:

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

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

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

所以我猜它认为我的价值是约会。

我目前正在处理的NewTotal值是1100.4

我也尝试过:

 NewTotal.ToString("N2")

但我得到了同样的错误。

2 个答案:

答案 0 :(得分:1)

您在string.Format中使用的格式化程序不适用于string,但您在格式化之前将double转换为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();
        }
    }
}

答案 1 :(得分:1)

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

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