Jam's story
[JS] 문자열 다루기 본문
두자리, 한자리 숫자를 네자리 숫자로 출력
1.for 문사용
2.padStart() 사용
padStart( 자릿수, 채울문자열); - 앞이 채워진다.
padEnd( 자릿수, 채울문자열); -뒤가 채워진다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<p id="demo"></p>
<script>
//두자리숫자를 4자리 숫자로 출력
/* let no="15";
let numberOfDigits=4-no.length;
for (let i = 0; i < numberOfDigits.length; i++) {
no="0"+no;
} */
/* let no="5";
no=no.padStart(4,"0");
*/
let no=7;
no=no.toString().padStart(4,"0");
console.log(no);
/* var name="hong gil dong";
var html="<ol>";
for (let i = 0; i < name.length; i++) {
html+="<li>"+name.charAt(i)+"</li>";
}
html+="</ol>";
$("#demo").html(html);*/
</script>
</body>
</html>
html을 사용해서 li 태그 만들기
var name="hong gil dong"
var html="<ul>";
for (let i = 0; i < name.length; i++) {
html+="<li>"+name.charAt(i)+"</li>";
}
html+="</ul>";
// document.getElementById("demo").innerHTML=html;
$("#demo").html(html);
startsWith - ~로 시작하는지
endsWith - ~로 끝나는지
includes - text 문자열에 target 특정문자열 포함여부를 true/false 반환
isNaN - 입력받은 수가 숫자인지 아닌지 확인 nan =not a number
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//~로 끝나는지, ~로 시작하는지
var url="www.sist.co.kr";
document.write(url.startsWith("http://"));
document.write(url.endsWith("kr"));
//text 문자열에 target 특정문자열 포함여부를 true/false 반환
var text="Lorem ipsum dolor, sit amet consectetur adipisicing elit. Deleniti vero tenetur inventore voluptatum corrupti facilis. Unde cumque facere nihil, quasi voluptatem exercitationem fuga, reprehenderit inventore laboriosam deserunt, eos dolorem excepturi?";
var target="dolor";
document.write(text.includes(target));
document.write(10%0); //nan =not a number
document.write(10/0); //infinity
var num="12a"
//입력받은 수가 숫자인지 아닌지 확인
document.write("12a는"+isNaN(num)); //숫자가 아니니 true
document.write("35 : "+isNaN("35")); //숫자이니 false
</script>
</body>
</html>
모든 숫자연산에서 문자열을 숫자로 변화하려고 시도한다.
덧셈연산자 + 를 제외하고 나머지는 문자열을 숫자로 변화하려고 시도한다.
var a = "100";
var b = "10";
var c = a * b;
document.write(typeof a); //string
document.write(typeof c); //number
역따옴표(물결모양 밑에 )를 이용하여 , 변수값 가져오기
역따옴표 안에 `${ 변수명}`
예) let text = ` name= ${name}, age = ${age}`;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<p id="demo"></p>
<script>
let name="admin";
let age=20;
// let text="name=admin,age=20";
//홑따옴표가 아닌 역따옴표이다.
let text = ` name= ${name}, age = ${age}`;
document.getElementById("demo").innerHTML=text;
</script>
<script>
let header="Templates Literals";
let tags=["java","oracle","html5","jquery"];
let html=`<h3>${header}</h3><ol>`;
for (let i = 0; i < tags.length; i++) {
html+=`<li>${tags[i]}</li>`;
}
html+=`</ol>`;
documnet.getElementById("demo").innerHTML=html;
</script>
</body>
</html>
1.toString() - 문자열로 변환
2.toExponential() 반올림되고 지수 표기법 출력-> 문자열 변환
()괄호 안에 매개변수에는, 반올림 자리 , 소수점 뒤의 문자 수 정의,
매개변수가 없다면- >반올림하지 않겠다 .
3.toFixed() 자리수를 나타내는데, 지수표기가 아니다.
자리수보다 작다면 반올림을,
자리수보다 매개변수가 크다면 0을 붙여 매개변수(자리수) 대로 출력한다.
4..toPrecision() - 전체자리수
매개변수가 없다면 -그대로 출력
매개변수보다 자리수가 크다면 매개변수만큼 출력되도록, 반올림
매개변수가 자리수보다 크다면 0을 붙인다.
5. 숫자를 나타내기 -js
valueOf()
let x=100; //number
let y=new Number("200") //object
object형을 number형으로 변환할때 사용하는 메소드 -> valueOf()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<pre>
1.toString()
2.toExponential() 반올림되고 지수 표기법 출력-> 문자열 변환
</pre>
<script>
let x= 9.646;
/* document.write(x.toExponential(2));
document.write("<br>");
document.write(x.toExponential(4));
document.write("<br>");
document.write(x.toExponential(6));
document.write("<br>"); */
/* document.write(x.toFixed(2));
document.write("<br>");
document.write(x.toFixed(4));
document.write("<br>");
document.write(x.toFixed(6));
document.write("<br>"); */
document.write(x.toPrecision());
document.write("<br>");
document.write(x.toPrecision(2));
document.write("<br>");
document.write(x.toPrecision(4));
document.write("<br>");
document.write(x.toPrecision(6));
document.write("<br>");
</script>
</body>
</html>
숫자로 변환하는 방법
1.parseInt();
2.parseFloat();
3. Number(); </script>
document.getElementById("demo").innerHTML =
Number(true) + "<br>" // 1
+ Number(false) + "<br>" // 0
+ Number("10") + "<br>" // 10
+ Number(" 10") + "<br>" // 10
+ Number("10 ") + "<br>" // 10
+ Number(" 10 ") + "<br>" // 10
+ Number("10.33") + "<br>" // 10.33
+ Number("10,33") + "<br>" // NaN
+ Number("10 33") + "<br>" // NaN
+ Number("Hong") + "<br>" // NaN
parseInt(true) + "<br>" // NaN
+ parseInt(false) + "<br>" // NaN
+ parseInt("10") + "<br>" // 10
+ parseInt(" 10") + "<br>" // 10
+ parseInt("10 ") + "<br>" // 10
+ parseInt(" 10 ") + "<br>" // 10
+ parseInt("10.33") + "<br>" // 10
+ parseInt("10,33") + "<br>" // 10
+ parseInt("10 33") + "<br>" // 10
+ parseInt("Hong") + "<br>" // NaN
document.getElementById("demo").innerHTML =
parseFloat(true) + "<br>" // NaN
+ parseFloat(false) + "<br>" // NaN
+ parseFloat("10") + "<br>" // 10
+ parseFloat(" 10") + "<br>" // 10
+ parseFloat("10 ") + "<br>" // 10
+ parseFloat(" 10 ") + "<br>" // 10
+ parseFloat("10.33") + "<br>" // 10.33
+ parseFloat("10,33") + "<br>" // 10
+ parseFloat("10 33") + "<br>" // 10
+ parseFloat("Hong") + "<br>" // NaN
'WEB > JavaScript' 카테고리의 다른 글
[JS] Date (0) | 2022.06.03 |
---|---|
[JS] 배열 (0) | 2022.06.03 |
[ JS] days03 (0) | 2022.06.02 |
[JS] 체크 모두풀기, 해제하기 (0) | 2022.06.02 |
[JS] 엔터쳐서 숫자를 이어받고, 합을 출력 -onkeydown 사용 (0) | 2022.05.30 |
Comments