Вы можете попробовать это:
double v = 1234567890123d;
Double d = new Double( v );
Теперь, когда вы передаете его в TextView, вы можете передать его следующим образом (при условии, что вы заинтересованы только в целой части double
):
d.longValue();
Теперь, почему он дает вам 1.234E12:
Правила печати двойников можно найти здесь (см. Раздел toString
). Он точно описывает, когда цифры будут переведены на научную запись при печати.
Вы также можете заглянуть в NumberFormat
.