танго плавание un problema al mostrar un numero de tipo, por ejemplo, СИ es 10000000000 я muestra 1E10. Como podria hacer para que me lo muestre tal cual lo pongo y никакая de форма exponencial?
Se agradece mucho su respuesta, saludos!
Для таких больших чисел, если ты не хочешь потерять точность, ты можешь использовать java.math.BigDecimal
:
import java.math.BigDecimal;
public class Prueba {
public static void main (String[] args) {
BigDecimal num = new BigDecimal("10000000000");
num = num.add(new BigDecimal("1.7"));
System.out.println(num); // 10000000001.7
}
}
https://docs.oracle.com/javase/10/docs/api/java/math/BigDecimal.html
Я рекомендую тебе использовать один из formateadores, которые приходят в стандартном книжном магазине Java: NumberFormat
или DecimalFormat
(которые увеличивают первого):
NumberFormat nf = NumberFormat.getInstance(new Locale("es"));
String sNum = nf.format(num); //puede ser un long, double...
так кроме того ты можешь контролировать использование запятых или таких точек как разделитель десятичных или тысячи.
Самый простой способ, чтобы показывать число такой как он, без какой-либо нотации, состоит в том, чтобы использовать метод toString:
import java.math.BigDecimal;
public class Prueba {
public static void main (String[] args) {
BigDecimal num = new BigDecimal("10000000000");
System.out.println(num.toString()); // 10000000000
}
}
Вывод программы:
aoz001es :JAVA $ java Prueba
10000000000