2010-11-18 11 views
5

Czy w Androidzie można łatwo wstawiać przecinki do wartości numerycznych? czyli jeśli mam EditText z 12345 w tym, jak mogę wyświetlić to jako 12,345?Wstawianie przecinków do liczb całkowitych

Myślę, że mogę to zrobić za pomocą podłańcucha i uciąć go na liczbę x 3 fragmentów liczb, a następnie połączyć odpowiedź za pomocą "," między każdą porcją 3-krotną. Byłoby to całkiem proste, gdyby długość numeru była stała, ale ponieważ liczba może wynosić od jednej cyfry do, powiedzmy 20, czyni to bardziej złożonym.

Ciekawe, czy istnieje prosty i czysty sposób, aby to osiągnąć, zanim przystąpię do tworzenia podciągu.

Cheers

+0

powinieneś określić, jakie języka używasz nie? – aaronasterling

+0

Czy to jest Java? (Zgaduję z "EditText") –

+0

Jakiego języka używasz? Wiele języków ma wbudowane funkcje formatowania. – Ray

Odpowiedz

16

Jeśli Jawa -

używać coś takiego:

double amount = 2324343192.015; 
    NumberFormat formatter = new DecimalFormat("###,###,###.##"); 
    System.out.println("The Decimal Value is: "+formatter.format(amount)); 

Wynik: Wartość dziesiętna jest: 2,324,343,192.02

+0

Dzięki za pomoc. Czy działa to tylko na podwójnych wartościach? – Entropy1024

+0

Użyłem kodu poniżej, ale zwraca 123456.0, nie tak jak bym się spodziewał 123456. Gdzie się mylę, proszę? \t \t \t \t podwójna ilość = 123456; \t \t \t NumberFormat formatter = new DecimalFormat ("###, ###, ###"); \t \t formatter.format (kwota); \t \t \t totalFrames.setText (Double.toString (kwota)); – Entropy1024

+0

Ah, Właśnie zorientowałem się, gdzie się nie mylę. Zwrócony sformatowany wynik to ciąg znaków tak? – Entropy1024