2014-11-06 8 views
0

오늘 마지막으로 몇 시간 동안 사냥을하다 보니 도움이 되었으면합니다. (I 유니티 답변 여기에 구글에서 응답을 사냥 지난 몇 시간을 보냈어요. Here's everything that I've found so far, which doesn't work.를)단어/문자의 문자열을 정수로 변환


내가 무엇을 찾고 있어요,하는에 순수 단어/문자의 문자열을 변경 정수. 따라서 "Hello World"는 그에 맞는 문자열로 변환됩니다. 이것은 놀라운 일이지만, 이것은 소리보다 훨씬 어렵습니다. 나는 본질적으로 모든 것을 할 수있는 방법을 찾았지만, 지금까지는.

아마도 가장 좋은 방법은 문자열의 각 문자의 ASCII 값을 가져와 모두 함께 단일 정수로 만드는 것입니다. (시퀀스가 없거나이를 구분할 필요가 있지만 하나의 단일 번호입니다.) 그러나 어디에서 시작해야하는지 또는 어떻게해야하는지 잘 모릅니다. 정말로 당신이 생각하는 어떤 것도, 가능한 한 단시간이고 바람직하지 않은 것이 좋습니다.

가능한 한 명확히하기 위해 문자 전용 변수 "example"을 사용하고 정수형/숫자 시퀀스로 변환해야합니다.

+0

숫자의 순서는 무엇입니까? 숫자에서 문자열로 돌아가고 싶다면 ASCII 값의 배열을 만들지 않으면이 기능이 작동하지 않습니다. 이것의 목적은 무엇입니까? JS에서 문자의 ASCII 값을 얻는 것은' "n"과 같이 간단합니다. .charCodeAt (0)' – Brennan

+0

OP는 태그를 편집하려고 할 수 있습니다. – punund

+0

미안하지만, 내가 끔찍하게 잘못하지 않는 한; 이것은 자바 스크립트가 아니라 자바를위한 것이다. Unity의 JavaScript는 정확합니다. 또한 숫자는 하나의 단일 순서로 표시됩니다. 단일 정수. – Gamershaze

답변

0

임의의 문자열을 임의의 시드로 변환하려는 경우 randomSeed.GetHashCode()을 시도하지 않으시겠습니까? 그러면 시드를 설정하는 데 적합한 int 값이 반환되며, 동일한 문자열을 입력 할 때마다 동일한 숫자가 생성됩니다.

+0

이것은 내가 찾고있는 것보다 훨씬 훌륭하고 간단한 솔루션입니다. 그것의 베스트, 그것은 UnityScript/JavaScript 프로젝트를 C#으로 전환 할 때 조정할 필요가 없습니다. 매우 감사. – Gamershaze

0

모든 문자를 반복하고 charCode를 가져 와서 함께 연결할 수 있습니다. 첫 번째 방법은 단일 문자로 스트링을 분할하고 Array.reduce를 사용하여이 수치 인덱스 및 길이 속성을 갖기 때문에

var str = 'qwertzuiop'; 
var num = parseInt(str.split('').reduce(function(a, b) {return a + b.charCodeAt(0);}, ''); 

번째 전화는 문자열 Array.forEach.

var num = ''; [].forEach.call(str, function(c) {num += c.charCodeAt(0);}); 
    num = parseInt(num); 

대신 브라우저를 사용하면 for-loops을 사용해야합니다.