Я думаю, что вы как бы ответили на свой вопрос :) Главное, на что следует обратить внимание, это различия между представлением с плавающей запятой на устройстве и сервере.В эти дни они оба будут иметь порядок байтов (в основном) IEEE-754.Тем не менее, все еще могут быть некоторые тонкие различия в реализации, которые могут укусить, например, обработка ненормальных и бесконечных, но вы, вероятно, можете избежать их игнорирования.Кажется, я вспоминаю, что некоторые крайние случаи в NEON (используемые в iPhone Cortex A-8) не обрабатываются так же, как x86.
Если вы отправляете как строку, вы в конечном итогес десятичным и двоичным преобразованием между ними, и, возможно, потерять точность.Однако это не так неэффективно - это всего 10 000 номеров.Если вы не ожидаете, что тысячи устройств будут непрерывно перекачивать эти данные на ваш сервер.
Если вы хотите добиться некоторой эффективности в банковском переводе и на стороне устройства, то один из подходов - просто отправить двойные числав их необработанном двоичном виде.На сервере повторно обработайте их до двойных чисел (Double.longBitsToDouble).Убедитесь, что вы правильно указали порядок байтов, когда вы захватываете данные как длинные (это будет довольно очевидно, если это неправильно).