2014-07-01 88 views
1

我正在構建一個利用Parse後端的應用程序。作爲我的用戶對象的一部分,我想直接使用FacebookID作爲我的UserID,但我想將它轉換爲BigInt而不是字符串。FacebookID String到BigInt Java和Parse

我使用了下面的代碼,但是當我在Parse中檢查數據時,它的值稍微偏離了一點。

「user」是我上面聲明的GraphUser對象。

String iDString = user.getId(); 
BigInteger iD = new BigInteger(iDString); 
currentUser.put("faceID", iD); 

當我檢查在分析數據,我得到如下:

字符串格式

原始ID(*用來蓋位):

************27645 

BigInt有ID:

************27644 

有誰知道爲什麼最後一位數字比上面的數字少1?可能它與BigInt的標誌有什麼關係?

+0

很難說沒有實際值,但[this](http://stackoverflow.com/questions/12693273/is-there-an-upper-bound-to-biginteger)可能會有所幫助。 – Mena

回答

1

我不知道哪些是您的問題,因爲您的帖子中缺少信息。

這種簡單的情況都非常好,我雖然:

String iDString = "99999999999997645"; 
BigInteger iD = new BigInteger(iDString); 
System.out.println(iD.toString()); 

打印的數量是完全一樣的iDString「數字」的。

+0

你是對的,我只是測試它的客戶端和值是完全一樣的。當它被保存到Parse時,值正在改變。這太奇怪了。 – icLutcha

+0

很高興我能幫到你! :) – luiscosta