如果这似乎重复,我道歉,但我找到的答案都没有解决我的问题。
我有以下计算:
double NewTotal = 12.0 * (SumCopay + Premium);
SumCoPay和Premium也是双打。
我正在尝试格式化输出:
string.Format("{0:0.00}" , NewTotal.ToString())
但我收到的“输入字符串格式不正确”错误。
故障排除提示首先说:“将字符串转换为DateTime时......”
所以我猜它认为我的价值是约会。
我目前正在处理的NewTotal值是1100.4
我也尝试过:
NewTotal.ToString("N2")
但我得到了同样的错误。
答案 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()
会解决您的问题。