在这种情况下我怎样才能乘以一个字符串?
How can I multiply a string in this case?
我有密码。在这段代码中,我有一个带有文本的 label1:“0,5 分钟”,从子字符串中我得到“0,5”,现在我需要将它从分钟转换为毫秒,例如 0,5 * 60 * 1000 = 30000。我可以因为这个错误所以不这样做:
Input string was not in a correct format.
我该怎么做?
private async void button2_Click(object sender, EventArgs e)
{
string num = label1.Text.Substring(0, label1.Text.IndexOf(" min"));
int mul = Convert.ToInt32(num) * 60 * 1000;
textBox1.Text = $"{num} - {mul}";
await Task.Delay(mul);
}
根据您收到的确切错误,您可能希望将 ,
替换为 .
(尽管最好指定一个明确的 CultureInfo
)。
那么你可以使用double.TryParse(num, out value);
您可能还想将其从 int
更改为 double
或 decimal
(如果需要精度,请使用 decimal
,as double
and float
are inexact, approximate, types)。
我有密码。在这段代码中,我有一个带有文本的 label1:“0,5 分钟”,从子字符串中我得到“0,5”,现在我需要将它从分钟转换为毫秒,例如 0,5 * 60 * 1000 = 30000。我可以因为这个错误所以不这样做:
Input string was not in a correct format.
我该怎么做?
private async void button2_Click(object sender, EventArgs e)
{
string num = label1.Text.Substring(0, label1.Text.IndexOf(" min"));
int mul = Convert.ToInt32(num) * 60 * 1000;
textBox1.Text = $"{num} - {mul}";
await Task.Delay(mul);
}
根据您收到的确切错误,您可能希望将 ,
替换为 .
(尽管最好指定一个明确的 CultureInfo
)。
那么你可以使用double.TryParse(num, out value);
您可能还想将其从 int
更改为 double
或 decimal
(如果需要精度,请使用 decimal
,as double
and float
are inexact, approximate, types)。