NSNumber *idValue =[NSNumber numberWithLong:[result longLongValue]];
如何轉換的NSNumber目標C到Java龍
上述結果值是 「2174767089」,idValue是 「-2120200207」。它得到了轉換。
搞錯我送這個的NSNumber到我的服務器。
在服務器(Java Servlet的)接受參數是龍。在Java服務中,我得到了「-2120200207」。想要將其轉換回「2174767089」。這怎麼可能?
NSNumber *idValue =[NSNumber numberWithLong:[result longLongValue]];
如何轉換的NSNumber目標C到Java龍
上述結果值是 「2174767089」,idValue是 「-2120200207」。它得到了轉換。
搞錯我送這個的NSNumber到我的服務器。
在服務器(Java Servlet的)接受參數是龍。在Java服務中,我得到了「-2120200207」。想要將其轉換回「2174767089」。這怎麼可能?
我認爲你可以使用BigInteger的類型,但你需要改變與大整數型數據庫(如果您正在使用的數據庫)。
您似乎想要構造一個NSNumber
與longLongValue
,但您調用的構造函數是longValue
。
NSNumber *idValue =[NSNumber numberWithLongLong:[result longLongValue]];
if ([idValue longLongValue] == [result longLongValue]) {
NSLog(@"Of course it does.");
}
順便提及,一個Java Long
是相同的長度一個Objective-C long long
:64位。 Objective-C long
是int
的化名。
我發現,在java中..... 長idValue = 2174767089L; int intVal =(int)(idValue); System.out.println(「idValue =」+ intVal); //打印「-2120200207」。如何從java中返回「2174767089」int? – Femina 2015-02-07 05:19:55
我不確定我明白你在問什麼。在Java中,'long'和'int'不是相同的數據類型。 Java中int的最大值是'2147483648'。如果你需要存儲一個比這更大的值,你必須*使用'long'來這麼做。 – 2015-02-09 12:46:24
是啊!我明白了,並解決了問題。謝謝 – Femina 2015-02-09 14:21:02