C# 如何成功地将双精度转换为字符串
我有一个购买金额,我正试图从双精度转换为字符串,我不断得到一个错误,读取 输入字符串的格式不正确。在这一行上,herevar amount=ol.amount*Convert.ToDoubleexchange.ToString0 我的代码C# 如何成功地将双精度转换为字符串,c#,asp.net-mvc,type-conversion,double,C#,Asp.net Mvc,Type Conversion,Double,我有一个购买金额,我正试图从双精度转换为字符串,我不断得到一个错误,读取 输入字符串的格式不正确。在这一行上,herevar amount=ol.amount*Convert.ToDoubleexchange.ToString0 我的代码 您从外部来源接收汇率。所以,输入字符串的格式不正确。当您尝试将速率字符串转换为双精度时,可能会发生错误。 如果可能的话,使用TryParse而不仅仅是Convert将字符串安全地转换为double var exchange=GetNigerianExchang
您从外部来源接收汇率。所以,输入字符串的格式不正确。当您尝试将速率字符串转换为双精度时,可能会发生错误。 如果可能的话,使用TryParse而不仅仅是Convert将字符串安全地转换为double
var exchange=GetNigerianExchange();
double exchangeRate = 1;
if (!Double.TryParse(value, out exchangeRate)) {
// do something for case when you cannot convert rate to double
}
var amount = (ol.Amount * exchangeRate).ToString("0.##", CultureInfo.InvariantCulture);
交换的价值是什么?@ChristophLütjen如果运行Console.WriteLineConvert.ToDouble19.12489100.ToString0,那么交换的价值是19.12489100。;你会发现它工作得很好。所以我猜exchange没有这个值。您是否设置了断点并验证了exchange是否具有预期值?ol.Amount的值是多少?@Zidane:我已尽力获取您的错误,但这是不可能的:D:D
var exchange=GetNigerianExchange();
double exchangeRate = 1;
if (!Double.TryParse(value, out exchangeRate)) {
// do something for case when you cannot convert rate to double
}
var amount = (ol.Amount * exchangeRate).ToString("0.##", CultureInfo.InvariantCulture);