为什么我不能将此字符串转换为数字?或如何从此字符串组成数字数组。
using UnityEngine;
public class CameraController : MonoBehaviour {
public GameObject player;
private Vector3 offset;
// Use this for initialization
void Start()
{
offset = transform.position - player.transform.position;
}
// Update is called once per frame
void LateUpdate()
{
transform.position = player.transform.position + offset;
}
}
答案 0 :(得分:1)
str
是一个字符串,因此str[0]
返回一个char
,而Parse
方法不使用char
作为输入,而是使用一个string
如果要将字符串转换为int
,则需要执行以下操作:
int c = Int32.Parse(str); // or Int32.Parse(str[0].ToString()); for a single digit
或者您可能正在寻找一种将所有单个数字转换为数组的方法,该方法可以通过以下方式完成:
var result = str.Select(x => int.Parse(x.ToString()))
.ToArray();
答案 1 :(得分:0)
Int32.Parse
接受string
的{{1}}参数,而不接受char
的参数。
要获取第一个电话号码,请尝试:
str[0]
答案 2 :(得分:0)
我假设您正在尝试将二进制字符串转换为其十进制表示形式。
为此,您可以使用$(document).on('click', 'input[name="submit"]', function(event) {
:
System.Convert
对于要对字符串中的所有1和0求和的情况,可以使用int c = Convert.ToInt32(str, 2);
的{{1}}和System.Linq
:
Select()
或者,如果您只想从字符串中获得1和0组成的数组,则可以省略Sum()
,而使用int c = str.Select(i => int.Parse(i.ToString())).Sum();
枚举为数组:
Sum()
免责声明:如果ToArray()
包含非数字字符,则上面使用int[] c = str.Select(i => int.Parse(i.ToString())).ToArray();
的两个摘要将引发异常。