longLongvalue из Objective C в Java? - PullRequest
       0

longLongvalue из Objective C в Java?

1 голос
/ 26 августа 2011

Как преобразовать этот код Objective C в Java?

NSMutableString * thisPart = [[NSMutableString alloc] init];
UInt64 intVal = (UInt64)[thisPart longLongValue];
if (!intVal) { isBad = YES; break; }

Я искал в Интернете, но не нашел никакой полезной информации в Интернете.

Если яимел:

UInt32 _tmpPacket_packetId;
_tmpPacket_packetId = (UInt32)intVal;  // UInt64 intVal = (UInt64)[thisPart longLongValue];

Могу ли я сделать это:

BigInteger tmpPacket_packetId = intVal;

На самом деле правильный вопрос таков: правильно ли это сделать, чтобы получить то же самое, что и в Задаче C?

Ответы [ 2 ]

2 голосов
/ 26 августа 2011

Я собираюсь предположить, что вас не волнует бит NSMutableString, который, вероятно, будет похож на классы StringBuilder / StringBuffer.UInt64 будет 64-битным без знака int?Тогда вы можете использовать конструктор String, предоставленный BigInteger (String)

StringBuilder thisPart = new StringBuilder("12345678901234567890");
try {
    BigInteger intVal = new BigInteger(thisPart.toString());
} catch (NumberFormatException e) {
    System.out.println("Bad value");
    isBad = true;
    break; // or return or what have you
}
0 голосов
/ 26 августа 2011
String str = "1234567890";
long l = Long.parseLong(str);

Вам потребуется обработка ошибок при разборе вызова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...