前提
ある入門書のガイドから思いついた物で、jsで小数点の桁数によってテキストの表示を変えるfunctionを書いています。
実現したいこと
-桁数によってテキストの表示を変える
例)小数点以下が5個の場合、「5th」と表示させたいです。
どなたかアドバイスお願いいたします。
該当のソースコード
html
1<!doctype html> 2<html> 3<head> 4<meta charset="UTF-8"> 5<meta name="viewport" content="width=device-width,initial-scale=1"> 6<title>テンプレート</title> 7<link href="../../_common/images/favicon.ico" rel="shortcut icon"> 8<link href="https://fonts.googleapis.com/css?family=M+PLUS+1p:400,500" rel="stylesheet"> 9<link href="../../_common/css/style.css" rel="stylesheet"> 10</head> 11<body> 12<header> 13<div class="container"> 14<h1>タイトル</h1> 15<h2>サブタイトル</h2> 16</div><!-- /.container --> 17</header> 18<main> 19<div class="container"> 20<section> 21 22<p>Pi is <span id="pi"></span>!</p> 23<p>When you round off usually, it's <span id="floor">!</span></p> 24 25<p>When you round off at the <span id="change"></span> decimal point, it's <span id="output">!</span></p> 26 27</section> 28</div><!-- /.container --> 29</main> 30<footer> 31<div class="container"> 32<p>JavaScript Samples</p> 33</div><!-- /.container --> 34</footer> 35 36//実際にはここにjsを書いてます。 37</body> 38</html> 39 40
JavaScript
1<script> 2 3// document.getElementById('pi').textContent = Math.PI; 4 5// document.getElementById('floor').textContent = Math.floor(Math.PI); 6 7function point (num, digit) { 8 const mover = 10 ** digit; 9 return Math.floor(num * mover) / mover; 10} 11 12document.getElementById('output').textContent = point(Math.PI, 5); 13 14// 1 だったらst、2だったらnd, 3だったらrd, else はthを表示 15function addOrder (digit) { 16if (digit === 1) { 17 return '1 st'; 18} else if (digit === 2) { 19 return '2 nd'; 20} else if (digit === 3) { 21 return '3 rd'; 22} else { 23 return digit + 'th'; 24} 25}; 26 27document.getElementById('change').textContent = addOrder(digit); 28 29</script> 30
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/09/25 12:38