Kiedy chcę wybrać n-tą literę, używam metody charAt(), ale jaki jest jej odpowiednik, gdy używam liczb całkowitych zamiast wartości łańcuchowych?Jak wybrać n-tą cyfrę w dużej liczbie całkowitej w javascript?
Odpowiedz
Zastosowanie String()
:
var number = 132943154134;
// convert number to a string, then extract the first digit
var one = String(number).charAt(0);
// convert the first digit back to an integer
var one_as_number = Number(one);
Można konwertować liczby na ciąg znaków i zrobić to samo:
parseInt((number + '').charAt(0))
Jeśli chcesz istniejącą metodę konwertowania go na ciąg i użyj charAt.
Jeśli chcesz zastosować metodę, która unika konwersji na ciąg, możesz grać w gry z dziesięciokrotnym podzieleniem, aby usunąć wystarczającą liczbę cyfr z prawej strony - powiedzmy 123456789, jeśli chcesz, aby trzecia z prawej cyfra (6), dziel przez 10 3 razy dając 123456, a następnie podejmij wynik mod 10 dając 6. Jeśli chcesz zacząć odliczanie cyfr od lewej, co prawdopodobnie robisz, musisz wiedzieć, ile cyfr (podstawa 10) znajdują się w całej liczbie, którą można wydedukować z bazy logów 10 liczby ... Wszystko to raczej nie będzie bardziej wydajne niż konwersja do ciągu znaków.
To głupie rozwiązanie, ale wydaje się działać bez konwersji na ciąg.
var number = 123456789;
var pos = 4;
var digit = ~~(number/Math.pow(10,pos))- ~~(number/Math.pow(10,pos+1))*10;
To miły, zwięzły sposób wyrażania w kodzie tego, co zasugerowałem w innej odpowiedzi - http://stackoverflow.com/questions/4654715/how-do-i-select-the-nth-digit-in-a-plge-- integer-inside-javascript/4654765 # 4654765 - ale jak w moim opisie prozy, "pos" liczy pozycje od prawej. Aby odliczyć od lewej, odejmij pozycję od bazy logów 10, co jest oczekiwane. – metamatt
var num = 123456;
var secondChar = num.toString()[1]; //get the second character
function digitAt(val, index) {
return Math.floor(
(
val/Math.pow(10, Math.floor(Math.log(Math.abs(val))/Math.LN10)-index)
)
% 10
);
};
digitAt(123456789, 0) // => 1
digitAt(123456789, 3) // => 4
Nieco brudny.
Math.floor(Math.log(Math.abs(val))/Math.LN10)
Oblicza liczbę cyfr (-1) w liczbie.
w jQuery
var number = 123456789
function return_digit(n){
r = number.toString().split('')[n-1]*1;
return r;
}
return_digit(3); /* returns 3 */
return_digit(6); /* returns 6 */
- 1. Jak rozbroić określony bit w liczbie całkowitej
- 2. Jak uzyskać ułamki w liczbie całkowitej?
- 3. jak znaleźć n-tą cyfrę w liczbie podobnej do 1491625 ...?
- 4. Modyfikuj bity w liczbie całkowitej w Pythonie
- 5. Iterowanie za pomocą cyfr w liczbie całkowitej w C
- 6. Nadpisywanie zakresu bitów w liczbie całkowitej w sposób ogólny
- 7. Zamień puste komórki na wartości NULL w dużej liczbie kolumn.
- 8. Raporty o zbyt dużej liczbie odwiedzin w równoległej kompilacji Gradle
- 9. C/Objective-C odczytać i uzyskać ostatnią cyfrę liczby całkowitej?
- 10. Czy istnieje sprytny sposób na "podwajanie" bitów w liczbie całkowitej?
- 11. Liczba bitów reprezentacji wartości w liczbie całkowitej, zgodnie z normą?
- 12. Przechowaj jedną cyfrę dziesiętną
- 13. Zapobieganie blokowaniu przeglądarki JavaScript w dużej pętli
- 14. tworzenie dużej (12K + wierszach) tablicy w JavaScript
- 15. Jak usunąć ".0" w liczbie całkowitej podczas używania podwójnego w java?
- 16. Jak czytać bajt i zapisać wartość ASCII w liczbie całkowitej w C++
- 17. W Pythonie, jak policzać końcowe zera w łańcuchu lub liczbie całkowitej?
- 18. Wykonaj moduł w ogromnej liczbie?
- 19. Gniazdo iPhone kończy się niepowodzeniem po dużej liczbie transferów danych
- 20. Wykonanie funkcji opartej na liczbie całkowitej na podstawie parametru wykonawczego
- 21. Dlaczego: hover jest tak powolny w przeglądarkach webkitowych na dużej liczbie elementów DOM
- 22. javascript - jak zaokrąglić do najbliższej liczby całkowitej
- 23. Jak posortować cyfry w liczbie?
- 24. Jak wybrać dane dla zdefiniowanej strony i całkowitej liczby rekordów?
- 25. C inicjowanie (bardzo) dużej tablicy całkowitej z wartościami odpowiadającymi indeksowi
- 26. najszybszy sposób na znalezienie ntą największą wartość w numpy Matrix
- 27. Jak mogę pobrać integer z NSDictionary i umieścić go w liczbie całkowitej?
- 28. Jak uzyskać ostatnią cyfrę numeru
- 29. Jak uzyskać ostatnią cyfrę numeru
- 30. auto kompletne, aby wybrać opcję w javascript
, co uniemożliwia korzystanie z charAt()? – naveen
charAt działa tylko na łańcuchach, więc musisz go najpierw przekonwertować. – majelbstoat