C#将string转换为int json

时间:2015-07-29 13:52:02

标签: c# json string int

我遇到了一个错误:

使用代码时:

 var json = webClient.DownloadString("http://backpack.tf/api/IGetCurrencies/v1/?key=54907d14ba8d88b17d8b4655&appid=440");
 Newtonsoft.Json.Linq.JObject o = Newtonsoft.Json.Linq.JObject.Parse(json);
 string BBPrice_low = (string)o["response"]["currencies"]["keys"]["price"]["value"];
 Console.WriteLine("\"" + BBPrice_low + "\"");
 int BPrice_low = (Convert.ToInt32(BBPrice_low));

但是最后一行出现了错误。它不能转换,而json字符串是" 15.77",一个可转换的字符串,对吗?

3 个答案:

答案 0 :(得分:2)

int =没有小数分量的数字。所以15.77不是有效的整数
尝试不同的数据类型,如float或double,如果你需要在int中,那么你应该围绕它

答案 1 :(得分:0)

只是做:

Convert.ToDouble(15.77) or Convert.ToDecimal(15.77)

15.77是C#

中的Double数据类型

答案 2 :(得分:0)

15.77不是有效整数。使用Convert.ToDouble()也许您还要设置CultureInfo。

Convert.ToDouble("15.77", CultureInfo.GetCultureInfo("en-US"));