mboost-dp1
Javascript parseInt()
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Hvad er grunden til at 08 og 09 returnerer 0?!
document.write(parseInt("01") + "<br />");
document.write(parseInt("02") + "<br />");
document.write(parseInt("03") + "<br />");
document.write(parseInt("04") + "<br />");
document.write(parseInt("05") + "<br />");
document.write(parseInt("06") + "<br />");
document.write(parseInt("07") + "<br />");
document.write(parseInt("08") + "<br />");
document.write(parseInt("09") + "<br />");
document.write(parseInt("10") + "<br />");
Output:
1
2
3
4
5
6
7
0
0
10
document.write(parseInt("01") + "<br />");
document.write(parseInt("02") + "<br />");
document.write(parseInt("03") + "<br />");
document.write(parseInt("04") + "<br />");
document.write(parseInt("05") + "<br />");
document.write(parseInt("06") + "<br />");
document.write(parseInt("07") + "<br />");
document.write(parseInt("08") + "<br />");
document.write(parseInt("09") + "<br />");
document.write(parseInt("10") + "<br />");
Output:
1
2
3
4
5
6
7
0
0
10
angiv en radix parameter på 10, så virker det
http://www.w3schools.com/jsref/jsref_parseInt.asp
http://www.w3schools.com/jsref/jsref_parseInt.asp
Det korte svar:
Brug et 10-tal som andet argument: parseInt("08", 10) == 8
Det lange svar:
Andet argument angiver radix. Hvis radix ikke er angivet prøver den at gætte. Starter tallet med "0x" eller "0X", er det hexidecimal (radix 16. Starter tallet med "0" er det op til parseren (dvs. browseren) om den skal gætte på oktal (radix 8) eller decimal (radix 10).
Dvs. "08" kan fortolkes som oktal. Men da 8 ikke giver mening i oktal (som går fra 0-7) stopper den med at tolke efter nullet - ergo giver det nul.
Brug et 10-tal som andet argument: parseInt("08", 10) == 8
Det lange svar:
Andet argument angiver radix. Hvis radix ikke er angivet prøver den at gætte. Starter tallet med "0x" eller "0X", er det hexidecimal (radix 16. Starter tallet med "0" er det op til parseren (dvs. browseren) om den skal gætte på oktal (radix 8) eller decimal (radix 10).
Dvs. "08" kan fortolkes som oktal. Men da 8 ikke giver mening i oktal (som går fra 0-7) stopper den med at tolke efter nullet - ergo giver det nul.
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.