Załóżmy, że chcę wydrukować numer 100000000. Na pierwszy rzut oka trudno jest stwierdzić, ile milionów reprezentuje ta liczba. Czy to 10 milionów czy 100 milionów? Jak sprawić, by duże liczby w Javie wyglądały na bardziej czytelne? Coś takiego na przykład byłoby wspaniałe: 100 000 000
. Od razu możesz stwierdzić, że liczba ta wynosi 100 milionów.Jak dodać pustą przestrzeń wewnątrz int?
Odpowiedz
Możesz także spróbować DecimalFormat;
DecimalFormat formatter = new DecimalFormat("#,###");
System.out.println(formatter.format(100000));
Wyniki:
1000>>1,000
10000>>10,000
100000>>100,000
1000000>>1,000,000
Najprawdopodobniej po prostu chcesz użyć do tego ciągu. Jeśli chcesz wykonać pewne obliczenia, po prostu zachowaj je jako int, dopóki nie zostanie wydrukowane. Następnie, kiedy trzeba go wydrukować, przekonwertuj go na ciąg, przetwórz ciąg tak, aby był czytelny, jak chcesz, i wydrukuj go.
Możesz spróbować tak:
String.format("%.2fM", yourNumber/ 1000000.0);
To spowoduje wyświetlenie liczby w formacie
1,000,000 => 1.00M
1,234,567 => 1.23M
EDIT: -
Wiem, że późno zmienił jednak tak nie to jeszcze jeden sposób:
private static String[] suff = new String[]{"","k", "m", "b", "t"};
private static int MAX_LENGTH = 4;
private static String numberFormat(double d) {
String str = new DecimalFormat("##0E0").format(d);
str = str.replaceAll("E[0-9]", suff[Character.getNumericValue(str.charAt(str.length() - 1))/3]);
while(str.length() > MAX_LENGTH || str.matches("[0-9]+\\.[a-z]")){
str = str.substring(0, str.length()-2) + str.substring(str.length() - 1);
}
return str;
}
wywołać tę funkcję, a dostaniesz wyjście następująco:
201700 = 202k
3000000 = 3m
8800000 = 8.8m
Można użyć formatu dziesiętnego do formatowania String
DecimalFormat decimalFormat = new DecimalFormat("###,###,###");
System.out.println(decimalFormat.format(100000000));
To wydrukować 100.000.000
Na drugie wejście - powiedzmy 1000 byłoby wydrukowanie 1000
Skorzystaj z klasy DecimalFormat, zobacz link, aby dowiedzieć się, jak używać.
Aby zapisać może szukają Pisałem to, co w zasadzie trzeba
DecimalFormat myFormatter = new DecimalFormat("### ### ###");
String output = myFormatter.format(value);
System.out.println(output);
jak o poniżej podejścia, ale it's supported w Java 7 i późniejszych wersjach:
int twoMillion = 2_000_000;
- 1. Jak dodać pustą przestrzeń na końcu listy?
- 2. sed wymienić pustą przestrzeń NULL
- 3. Pasek narzędzi Android pokaż/ukryj pustą przestrzeń
- 4. SVG <defs> generuje pustą przestrzeń
- 5. TwoWay Zobacz Dodaj pustą przestrzeń automatycznie
- 6. Jak usunąć pustą przestrzeń wokół obrazu w systemie Android?
- 7. niewytłumaczalne przestrzeń nad przyciskiem wewnątrz DIV
- 8. Biała przestrzeń wewnątrz znaczników XML/HTML
- 9. Jak dodać przestrzeń między pól treści w Bootstrap
- 10. Jak dodać kolumny do org.apache.spark.sql.Row wewnątrz mapPartitions
- 11. Jak dodać opóźnienie do obietnicy wewnątrz, następnie
- 12. Jak dodać siatkę wewnątrz widza przewijania programowo
- 13. Jak dodać link wewnątrz svg okręgu
- 14. Jak poprawnie dodać UIImageView wewnątrz UIStackView
- 15. Jak sprawdzić, czy pole ma wartość pustą lub pustą mysql?
- 16. Jak zidentyfikować wolną przestrzeń
- 17. dodać element do int [] tablicy w java
- 18. C - deklarowanie tablicy int wewnątrz struct
- 19. Niedoskonałość systemu Android GridView, jak usunąć dodatkową pustą przestrzeń w prawo
- 20. Nie można dodać IntPtr oraz Int
- 21. Jak dodać wartości w kluczach w słowniku wewnątrz pętli?
- 22. dodać układ programowo wewnątrz innego jednej
- 23. możesz utworzyć przestrzeń między powtórzeniami obrazów tła?
- 24. Python map każda liczba całkowita wewnątrz wejścia do int
- 25. Jak dodać char/int do tablicy char w C?
- 26. Jak dodać wartość int do przesyłania Alamofire Parametry
- 27. Twórz przestrzeń kluczy automatycznie wewnątrz kontenera dokera z kassandra
- 28. Jak analizować przestrzeń PermGen?
- 29. Jak dodać przestrzeń nazw i prefiks dla wszystkich elementów i atrybutów za pomocą XSLT?
- 30. Linq zastępuje pustą wartość pustą inną wartością
Możesz użyć podkreślenia dla dużej liczby. – Masudul
@Masud OP chce dodać białe spacje podczas drukowania numeru, a nie w kodzie źródłowym – Turing85
https://docs.oracle.com/javase/tutorial/java/data/numberformat.html – bobwah