我有:
textbox1.text == 1.4087
textbox2.text == 521.54
它没有硬编码,我是从JSON获得的。无论如何,我想将这两个数字相乘。
我使用此代码:
double curr = 0.0;
double price = 0.0;
double multiply = 0.0;
double.TryParse(textBox1.Text, out curr);
double.TryParse(textBox2.Text, out price);
multiply = curr * price;
textBox3.Text = multiply.ToString();
我也试过Convert.ToDouble
仍然没有运气。
我总是在textBox3中得到0。显然字符串不会被识别为double。但他们是。有任何想法吗?谢谢!
编辑:来自JSON:
{"high": "567.88", "last": "543.95", "timestamp": "1394987785",
我使用此代码来获取我需要的内容:
Regex expression = new Regex(@"last"":\s""(?<Identifier>[0-9]+\.[0-9]+)");
var results = expression.Matches(Cryp);
foreach (Match match in results)
{
textBox1.Text = match.Groups["Identifier"].Value;
}
这里有什么问题吗?
答案 0 :(得分:0)
我会假设其中一个TryParse调用失败,导致它保持值为0,因此无论工作是什么,结果都会得到0。
我刚刚编写了一个带有三个文本框的基本ASP.NET应用程序,然后粘贴了您的代码,而没有将任何内容更改为提交按钮的事件处理程序。手动输入您提供的两个数字,在TextBox3中给出了734.693398
的正确答案。您的输入必须关闭。
答案 1 :(得分:0)
试试这个:
double.TryParse(textBox1,NumberStyles.AllowDecimalPoint,
CultureInfo.InvariantCulture, out curr);
double.TryParse(textBox2.Text,NumberStyles.AllowDecimalPoint,
CultureInfo.InvariantCulture, out price);
multiply = curr * price;