我试图用pi发出哔哔声,我需要删除点(pi1 [1])(),我需要将char数组pi1转换为int数组pi2( * )
double a = Math.PI;
string b=a.ToString();
char[] pi1 = b.ToCharArray();
* pi1[1] = '0';
int[] pi2;
for (int i = 0; i < pi1.Length; i++)
{
** pi2[i] = int.Parse(pi1[i].ToString());
}
//for (int i = 0; i > 40; i++)
//{
// Console.Beep(100*c, 100);
//}
答案 0 :(得分:0)
假设pi1
完全由字符0
- 9
组成,您可以使用以下代码将其解析为int
数组:
int[] pi2 = pi1.Select(c => c - '0').ToArray();
答案 1 :(得分:0)
似乎导致问题的部分是不需要尝试转换小数点。您可以使用string.Replace
。
以下是一个单行解决方案,将pi的前15位数作为整数数组:
int[] piDigits = Math.PI.ToString()
.Replace(".", "")
.Select(c => c - '0')
.ToArray();