C# 将字符串转换为 int json

C# convert string to int json

我遇到了一个错误:

使用代码时:

 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”时无法转换,一个可转换的字符串,对吗?

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

就这样吧:

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

15.77 是 C#

中的一种 Double 数据类型

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

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