Quando voglio selezionare l'ennesimo carattere, io uso il metodo charAt(), ma qual è l'equivalente che posso usare quando si tratta di numeri interi anziché di valori stringa?Come seleziono l'ennesima cifra in un numero intero all'interno di javascript?
risposta
Uso 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);
si potrebbe convertire il numero in una stringa e fare la stessa cosa:
parseInt((number + '').charAt(0))
Se si desidera un metodo esistente, convertirlo in una stringa e usa charAt.
Se si desidera un metodo che eviti di convertirlo in una stringa, è possibile giocare ripetutamente per 10 volte per rimuovere un numero sufficiente di cifre dalla destra, ad esempio 123456789, se si desidera il 3 ° da destra digit (6), dividi per 10 3 volte producendo 123456, quindi prendi il risultato mod 10 ottenendo 6. Se vuoi iniziare a contare cifre da sinistra, cosa che probabilmente fai, allora devi sapere quante cifre (base 10) sono nel numero intero, che è possibile dedurre dalla base del registro 10 del numero ... È improbabile che tutto ciò sia più efficace della semplice conversione in stringa.
È una soluzione stupida ma sembra funzionare senza conversione in stringa.
var number = 123456789;
var pos = 4;
var digit = ~~(number/Math.pow(10,pos))- ~~(number/Math.pow(10,pos+1))*10;
Questo è un bel modo succinto di esprimere in codice ciò che ho suggerito in un'altra risposta: http://stackoverflow.com/questions/4654715/how-do-i-select-the-nth-digit-in-a-arge- integer-inside-javascript/4654765 # 4654765 - ma come nella mia descrizione in prosa, "pos" sta contando le posizioni da destra. Dovresti sottrarre pos dalla base di log 10 del numero per contare da sinistra, che è ciò che è previsto qui. – 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
un po 'confuso.
Math.floor(Math.log(Math.abs(val))/Math.LN10)
calcola il numero di cifre (-1) nel numero.
in 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. Ottieni la settima cifra da un numero intero
- 2. Come ottenere l'ultima cifra di un numero
- 3. Numero intero Javascript
- 4. Aggiunta di un numero intero di un galleggiante in PHP arrotonda il galleggiante 1 cifra
- 5. Come rappresentare un numero intero superiore a un numero intero
- 6. Recupero della prima cifra di un numero
- 7. Come seleziono un numero fisso di righe per ogni gruppo?
- 8. Aggiungi cifra del numero
- 9. Javascript: converti un numero intero (esadecimale) con segno javascript
- 10. Controllare se una variabile è un numero intero in javascript
- 11. Come convertire un numero intero in serie
- 12. Come estrarre un numero intero da un NSDictionary e inserirlo in un numero intero?
- 13. Convertire una cifra di carattere nel numero intero corrispondente in C
- 14. Analizzare la stringa "009" come numero intero in javascript?
- 15. Formattazione di un numero intero come ottale
- 16. Javascript - converti numero intero in matrice di bit
- 17. Come posso determinare è cifra Numero pari?
- 18. VB2010 Come capire se un numero è un intero intero
- 19. Convertire un numero intero in un numero float in Golang
- 20. Come ottenere Ultima cifra del numero
- 21. Numero intero casuale Javascript tra due numeri
- 22. Arrotondare un numero intero al numero intero più vicino
- 23. JavaScript calcola hashcode dal numero reale e dal numero intero
- 24. regex: trova il numero di una cifra
- 25. Come arrotondare un numero a un numero intero selezionato
- 26. Come bloccare un numero intero in un intervallo? (In Python)
- 27. Come memorizzare un numero intero (10 cifre) intero?
- 28. Come rilevare se un dato numero è un numero intero?
- 29. Reading 3 byte come un numero intero
- 30. javascript - come da arrotondare al numero intero più vicino
quello che impedisce di utilizzare charAt()? – naveen
charAt funziona solo su stringhe, quindi devi prima convertirlo. – majelbstoat