Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何成功地将双精度转换为字符串_C#_Asp.net Mvc_Type Conversion_Double - Fatal编程技术网

C# 如何成功地将双精度转换为字符串

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

我有一个购买金额,我正试图从双精度转换为字符串,我不断得到一个错误,读取 输入字符串的格式不正确。在这一行上,herevar amount=ol.amount*Convert.ToDoubleexchange.ToString0

我的代码


您从外部来源接收汇率。所以,输入字符串的格式不正确。当您尝试将速率字符串转换为双精度时,可能会发生错误。 如果可能的话,使用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);