Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

92
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

้›ปๅ“ใฎๆˆ้•ทใ‚’ไฝ“้จ“ใงใใ‚‹ใ‚ฏใ‚ฝใ‚ขใƒ—ใƒช

Last updated at Posted at 2021-12-01

ใ‚ฏใ‚ฝใ‚ขใƒ—ใƒช Advent Calendar 2021 1ๆ—ฅ็›ฎใฎ่จ˜ไบ‹ใงใ™ใ€‚

ๅ‰็ฝฎใ

ใŠใฏใ‚ˆใ†ใ”ใ–ใ„ใพใ™ใ€‚DE-TEIUใงใ™ใ€‚
ใ‚ฏใ‚ฝใ‚ขใƒ—ใƒชใ‚’้–‹็™บใ—ใชใ„ใจๅนดใ‚’่ถŠใ›ใชใ„ไฝ“ใซใชใฃใฆใ—ใพใฃใŸใฎใงไปŠๅนดใ‚‚ใ‚„ใฃใฆใ„ใใพใ™ใ€‚

้ŽๅŽปใซใ‚ขใƒ‰ใƒ™ใƒณใƒˆใ‚ซใƒฌใƒณใƒ€ใƒผ็”จใซไฝœใฃใŸใ‚ฏใ‚ฝใ‚ขใƒ—ใƒช

ๆˆๆžœ็‰ฉ

่ชฐใ—ใ‚‚ไบบ็”Ÿใฎไธญใงไธ€ๅบฆใฏ้›ปๅ“ใซ่งฆใ‚Œใ‚‹ๆฉŸไผšใŒใ‚ใฃใŸใจๆ€ใ„ใพใ™ใ€‚
ใ—ใ‹ใ—ใ€ๅฎŸใฏ็š†ๆง˜ใฎ็Ÿฅใ‚‹้›ปๅ“ใจใ„ใ†ใฎใฏใ€ๆ—ขใซใƒฌใƒ™ใƒซใŒๆœ€ๅคงใพใงไธŠใŒใฃใฆๅฎŒๆˆใ•ใ‚Œใฆใ„ใ‚‹ใ‚‚ใฎใ ใฃใŸใฎใงใ™ใ€‚
ใจใ„ใ†ใ‚ใ‘ใงใ€ไปŠๅ›žใฏ้›ปๅ“ใŒๆˆ้•ทใ—ใฆใ„ใ้Ž็จ‹ใ‚’ไฝ“้จ“ใงใใ‚‹Webใ‚ขใƒ—ใƒชใ‚’้–‹็™บใ—ใพใ—ใŸใ€‚
้ฉๅฝ“ใซใƒœใ‚ฟใƒณใ‚’ๆŠผใ—ใŸใ‚Š่จˆ็ฎ—ใ—ใŸใ‚Šใ™ใ‚‹ใจ็ตŒ้จ“ๅ€คใŒๆบœใพใฃใฆ้›ปๅ“ใฎใƒฌใƒ™ใƒซใŒไธŠใŒใฃใฆใ„ใใพใ™ใ€‚

้›ปๅ“่‚ฒๆˆใ‚ทใƒŸใƒฅใƒฌใƒผใ‚ฟใƒผ
้›ปๅ“.png

้›ปๅ“ใฎใƒฌใƒ™ใƒซใŒ

ไธŠใŒใฃใŸใจๆ€ใ„ใพใ™ใ€‚ๆœ€ๅคงใƒฌใƒ™ใƒซใฏ15ใงใ™ใ€‚

่งฃ่ชฌ

ไปฅไธ‹ใ€ไปŠๅ›žไฝฟ็”จใ—ใŸใƒ•ใƒฌใƒผใƒ ใƒฏใƒผใ‚ฏใจใƒฉใ‚คใƒ–ใƒฉใƒชใฎ็ดนไป‹ใงใ™ใ€‚

Svelte

Svelteใจใฏใ€Reactใ‚„Vueใฎใ‚ˆใ†ใชJavaScriptใƒ•ใƒฌใƒผใƒ ใƒฏใƒผใ‚ฏใฎไธ€็จฎใงใ™ใ€‚ใ‚นใƒดใ‚งใƒซใƒˆใจ่ชญใ‚€ใใ†ใงใ™ใ€‚ใ‚ˆใ‚Šๅฐ‘ใชใ„ใ‚ณใƒผใƒ‰้‡ใงๅฎŸ่ฃ…ใงใใ‚‹ใ“ใจใ‚’ๅฃฒใ‚Šใซใ—ใฆใŠใ‚Šใ€ใ‹ใชใ‚Š็›ดๆ„Ÿ็š„ใซๆ›ธใ‘ใ‚‹ใ‚ˆใ†ใซ่จญ่จˆใ•ใ‚Œใฆใ„ใพใ™ใ€‚

ใ‚ตใƒณใƒ—ใƒซ

ไพ‹ใˆใฐใ€2ใคใฎๅ…ฅๅŠ›ๆฌ„ใซ่จญๅฎšใ—ใŸๅ€คใ‚’ๅˆ็ฎ—ใ™ใ‚‹ๆฉŸ่ƒฝใ‚’ๅฎŸ่ฃ…ใ™ใ‚‹ใจไปฅไธ‹ใฎใ‚ˆใ†ใซใชใ‚Šใพใ™ใ€‚

sample.svelte
<script>
  let val1 = 0;
  let val2 = 0;
</script>

<input type="number" bind:value={val1}>
<input type="number" bind:value={val2}>

<p>{val1 + val2}</p>

ๅŒใ˜ใ‚‚ใฎใ‚’VueใงๅฎŸ่ฃ…ใ™ใ‚‹ใจใ“ใ†ใชใ‚Šใพใ™ใ€‚

sample.vue
<template>
  <div>
    <input type="number" v-model.number="val1">
    <input type="number" v-model.number="val2">
    <p>{{val1 + val2}}</p>
  </div>
</template>

<script>
  export default {
    data: function() {
      return {
        val1: 0,
        val2: 0,
      };
    }
  };
</script>

ไธŠ่จ˜ใฎ2ใคใฎใ‚ณใƒผใƒ‰ใ‚’ๆฏ”่ผƒใ™ใ‚‹ใจใ€Svelteใงใฏใ€ใƒใ‚คใƒณใƒ‰ใ•ใ›ใŸใ„ๅค‰ๆ•ฐใฎๅฎฃ่จ€ใŒใ€ๆ™ฎ้€šใฎJavaScriptใจๅŒใ˜ใ‚ˆใ†ใซletใ‚„constใงๆ›ธใ‘ใ‚‹ใ‚ˆใ†ใซใชใฃใฆใ„ใพใ™ใ€‚

Svelteใƒ•ใƒฌใƒผใƒ ใƒฏใƒผใ‚ฏ

ไปŠๅ›žใฎใ‚ขใƒ—ใƒชใงใฏไฝฟ็”จใ—ใฆใ„ใพใ›ใ‚“ใŒใ€ReactใซใŠใ‘ใ‚‹Next.jsใ‚„ใ€VueใซใŠใ‘ใ‚‹Nuxt.jsใฎใ‚ˆใ†ใซใ€Svelteใซใ‚‚ๆœฌๆ ผ็š„ใชWebใ‚ขใƒ—ใƒชใ‚’้–‹็™บใ™ใ‚‹ใŸใ‚ใฎๆฉŸ่ƒฝใŒ่‰ฒใ€…ใจ่ฟฝๅŠ ใ•ใ‚ŒใŸใ€SvelteKitใจใ„ใ†ใƒ•ใƒฌใƒผใƒ ใƒฏใƒผใ‚ฏใŒๅญ˜ๅœจใ—ใพใ™ใ€‚Svelteใซใฏๅ…ƒใ€…Sapperใจใ„ใ†ใƒ•ใƒฌใƒผใƒ ใƒฏใƒผใ‚ฏใŒๅญ˜ๅœจใ—ใฆใ„ใŸใฎใงใ™ใŒใ€็พๅœจใฏใ“ใ‚Œใฎ้–‹็™บใ‚’ไธญๆ–ญใ•ใ‚Œใ€SvelteKitใฎ้–‹็™บใŒ้€ฒใ‚ใ‚‰ใ‚Œใฆใ„ใพใ™ใ€‚
2021/12/01ๆ™‚็‚นใงใฏใพใ SvelteKitใฏฮฒ็‰ˆใงใ‚ใ‚Šใ€ใพใ Next.jsใ‚„Nuxt.jsใ‚ˆใ‚ŠใฏๆฉŸ่ƒฝใ‚„ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใŒๅฐ‘ใชใ‹ใฃใŸใ‚Šใ™ใ‚‹ใฎใงใ€ไฝœใ‚ŠใŸใ„ใ‚ทใ‚นใƒ†ใƒ ใฎ่ฆไปถใซใ‚ˆใฃใฆใฏๆŽก็”จใŒ้›ฃใ—ใ„ใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“ใ€‚ใŸใ ้€šๅธธใฎSvelteใจๅŒๆง˜ใซใ€SvelteKitใ‚‚ใ‹ใชใ‚Šใ‚ทใƒณใƒ—ใƒซใชๆ›ธใๆ–นใงๅฎŸ่ฃ…ใงใใ‚‹ใ‚ˆใ†ใซใชใฃใฆใ„ใ‚‹ใŸใ‚ใ€ๅ€‹ไบบใงๅฐ่ฆๆจกใชWebใ‚ขใƒ—ใƒชใ‚’ไฝœใ‚‹ใใ‚‰ใ„ใชใ‚‰ๅ•้กŒใชใไฝฟใˆใ‚‹ใ‹ใจๆ€ใ„ใพใ™ใ€‚

bignumber.js

JavaScriptใงใฏใ€ๆ•ฐๅ€ค่จˆ็ฎ—(็‰นใซๅฐๆ•ฐใ‚’ๅซใ‚“ใ ใ‚‚ใฎ)ใฎ้š›ใ€ใ—ใฐใ—ใฐ่ชคๅทฎใŒ็™บ็”Ÿใ—ใพใ™ใ€‚
ไพ‹๏ผš
ใ‚นใ‚ฏใƒชใƒผใƒณใ‚ทใƒงใƒƒใƒˆ 2021-11-28 204513.png

JavaScriptใฎๆตฎๅ‹•ๅฐๆ•ฐ็‚นๆ•ฐใฏ IEEE754 ใจใ„ใ†่ฆๆ ผใซๅ‰‡ใฃใฆๅฎŸ่ฃ…ใ•ใ‚Œใฆใ„ใ‚‹ใŸใ‚ใ€ใ“ใฎ่ฆๆ ผใซใคใ„ใฆ่ชฟในใ‚‹ใจๆ›ดใซ่ฉณใ—ใ„ๆƒ…ๅ ฑใŒๅพ—ใ‚‰ใ‚Œใ‚‹ใ‹ใจๆ€ใ„ใพใ™ใ€‚ไปŠๅ›žใฎ่จ˜ไบ‹ใงใฏๅ‰ฒๆ„›ใ—ใพใ™ใ€‚

ใ“ใฎ่ชคๅทฎใฎ็™บ็”Ÿใ‚’้˜ฒใใ‚ˆใ†ใช่จˆ็ฎ—ๅ‡ฆ็†ใ‚’่‡ชๅ‰ใงๅฎŸ่ฃ…ใ™ใ‚‹ใฎใฏๅคงๅค‰ใชใฎใงใ€ไปŠๅ›žใฏbignumber.jsใจใ„ใ†ใƒฉใ‚คใƒ–ใƒฉใƒชใ‚’ไฝฟ็”จใ—ใพใ—ใŸใ€‚
ใชใ‚“ใจใชใJavaใฎBigDecimalๅž‹ใฃใฝใ„ไฝฟใ„ๆ–นใŒใงใใพใ™ใญใ€‚

ใ‚คใƒณใ‚นใƒˆใƒผใƒซ

$ npm install bignumber.js

ไฝฟใ„ๆ–นไพ‹

import { BigNumber } from "bignumber.js";

const num = new BigNumber(0.1);
// ๅŠ ็ฎ—
const val1 = num.plus(0.2);
// ๆธ›็ฎ—
const val2 = num.minus(0.2);
// ไน—็ฎ—
const val3 = num.multipliedBy(0.2);
//้™ค็ฎ—
const val4 = num.dividedBy(0.2);

// ่จˆ็ฎ—็ตๆžœใ‚’ๆ–‡ๅญ—ๅˆ—ๅŒ–ใ—ใฆๅ‡บๅŠ›
console.log(val1.toString(), val2.toString(), val3.toString(), val4.toString());

// ใ‚ซใƒณใƒžๅŒบๅˆ‡ใ‚Šใงๅ‡บๅŠ›
const val5 = new BigNumber(1000000);
console.log(val5.toFormat());

ๅ‡บๅŠ›ไพ‹

0.3 -0.1 0.02 0.5
1,000,000

ไป–ใซใ‚‚ใ€ๅคงๅฐๆฏ”่ผƒใ‚„ใ€ๅฐๆ•ฐใฎไธธใ‚ๅ‡ฆ็†ใฎ่จญๅฎšใŒใงใใŸใ‚Šใ—ใพใ™ใ€‚่ฉณใ—ใใฏAPIๅ‚็…งใ€‚

ใพใจใ‚

ๆ™ฎ้€šใซๅฎŒๆˆใ•ใ‚ŒใŸ้›ปๅ“ใ‚’ไฝฟใฃใŸๆ–นใŒ่‰ฏใ„ใงใ™ใญใ€‚

ๅ‚่€ƒ

92
8
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
de_teiu_tkg

@de_teiu_tkg

่ƒŒไธญใฎใƒœใ‚ฟใƒณใ‚’ๆŠผใ™ใจ่‰ฒใ€…ใช่จ€่‘‰ใ‚’็™บใ—ใพใ™

Today's trending articles

Linked from these articles

Comments

youwht
@youwht

้ข็™ฝใ‹ใฃใŸใงใ™โ™ช
ๅŠนๆžœ้Ÿณใ‚„ๅ„็จฎใ‚จใƒ•ใ‚งใ‚ฏใƒˆใ‚‚ใ‚คใ‚คใงใ™ใญ๏ผ๏ผ

ๆฐ—ใซใชใฃใŸ็‚น๏ผš

โ‘ ๏ผ•ร—๏ผ–ร—๏ผ—ใ€ใฎใ‚ˆใ†ใซใ€Œ๏ผใ€ใ‚’ๆŒŸใพใšใซใƒœใ‚ฟใƒณใ‚’ๆŠผใ—ใŸๅ ดๅˆใฎๆŒ™ๅ‹•ใŒใ€
ใ€€ๆœŸๅพ…ใ™ใ‚‹ใจใ“ใ‚ใจ็•ฐใชใ‚‹ใ‚ˆใ†ใชๆฐ—ใŒใ—ใพใ™ใ€‚๏ผˆ๏ผ•๏ผ‹๏ผ–๏ผ‹๏ผ—ใ‚‚ๅŒๆง˜๏ผ‰
ใ€€Lv15ใพใงไธŠใ’ใฆใ‚‚ๅค‰ใ‚ใ‚Šใพใ›ใ‚“ใงใ—ใŸใ€‚

โ‘กLv14ใ ใ‘ใŒใ€ๅคงใใชใ€Œ๏ผใ€ใฎใƒœใ‚ฟใƒณไธ€ใคใ ใ‘ใŒๅ…จไฝ“ใซๅ ใ‚ใ‚‰ใ‚ŒใฆใŠใ‚Šใ€
ใ€€ใ“ใกใ‚‰ใฏใƒใ‚ฐใฎๅฏ่ƒฝๆ€งใŒ้ซ˜ใ„ใจๆ€ใ„ใพใ™ใ€‚Lv15ใซใ™ใ‚‹ใจๆฒปใ‚Šใพใ—ใŸใ€‚

โ‘ขLv15ใฎๅ ดๅˆใฎใƒœใ‚ฟใƒณ้…็ฝฎใŒใ€ๅณไธ‹ใฎใ€Œ๏ผใ€ใฎ้šฃใŒใ€ŒCใ€ใฏใ€
ใ€€ใ‚ˆใ่ฆ‹ใ‚‰ใ‚Œใ‚‹้›ปๅ“ใฎ้…็ฝฎใจใฏ็•ฐใชใ‚‹ใ‚ˆใ†ใชๆฐ—ใŒใ—ใพใ™ใ€‚ใ€€
ใ€€ๆœ€็ต‚ๆฎต้šŽใงใฏใ€้…็ฝฎใ‚‚ๆˆ้•ทใ•ใ›ใฆใŠใใŸใ„ใงใ™ใ€‚

่ฆๆœ›๏ผš

Lv1โ†’Lv2
ใƒป๏ผ™ใ‚’ไฝœใ‚Œใ€€
Lv2โ†’Lv3
ใƒป๏ผ™๏ผ™ใ‚’ไฝœใ‚Œ
ใฎใ‚ˆใ†ใซใ€Lv่กจ็คบใฎๆจชใซใƒŸใƒƒใ‚ทใƒงใƒณใŒ่กจ็คบใ•ใ‚Œใ€
ใƒŸใƒƒใ‚ทใƒงใƒณ้”ๆˆใ™ใ‚Œใฐไธ€ๆฐ—ใซ็ตŒ้จ“ๅ€คใŒMaxใซใชใ‚‹ใ€
ใชใฉใฎใ‚ฒใƒผใƒ ๆ€งใŒใ‚ใ‚‹ใจใ‚ˆใ‚Š้ข็™ฝใ„ใ‹ใจๆ€ใ„ใพใ—ใŸใ€‚
ๅฐ‘ใชใ„ใƒœใ‚ฟใƒณๆ“ไฝœใงใƒŸใƒƒใ‚ทใƒงใƒณใฎๆ•ฐใ‚’ไฝœใ‚‹ใฎใ‚‚ๅฐ‘ใ€…้ ญใ‚’ไฝฟใ„ใใ†ใงใ™ใ€‚
ใใฎใพใพใ€ใ€Œใƒœใ‚ฟใƒณ็ตŒ้จ“ๅ€คใŒๆบœใพใ‚Šใใ‚‹ใพใงใฎๆ“ไฝœๅ›žๆ•ฐใงใ€
ใƒŸใƒƒใ‚ทใƒงใƒณใ‚ฏใƒชใ‚ขใ™ใ‚‹ใƒ‘ใ‚บใƒซใ‚ฒใƒผใƒ ใ€ใซใ‚‚ใชใ‚Šใใ†ใงใ™ใ€‚
ใƒŸใƒƒใ‚ทใƒงใƒณ/ใ‚ฏใ‚จใ‚นใƒˆใฏใ€RPG็š„ใชLvUPใจใ‚‚ๆ–นๅ‘ๆ€งใŒๅˆใ†ใฎใงใฏใชใ„ใงใ—ใ‚‡ใ†ใ‹ใ€‚

ๆœ€ๅˆใ‹ใ‚‰่จˆ็ฎ—ใงใใ‚‹ๆกๆ•ฐใŒๅคšใ„ใฎใ‚‚ใ€Lvupใงๆˆ้•ทใ•ใ›ใŸใ„ใงใ™ใ€‚
ใ•ใ‚‰ใชใ‚‹ๆกˆใจใ—ใฆใฏใ€่กจ็คบ้ƒจใŒ็พๅœจๅ˜็ด”็ฎ—็”จๆ•ฐๅญ—ใชใฎใงใ€
ๅคๅ…ธ้›ปๅ“็š„ใชใ€Œๆถฒๆ™ถ่กจ็คบใ€ใซใ—ใฆใ€ใ€Œไธ€้ƒจ่กจ็คบใŒๆฌ ใ‘ใฆใ„ใ‚‹็Šถๆ…‹ใ€
ใงๅง‹ใพใ‚Šใ€่กจ็คบๅฏ่ƒฝ้‡ใ‚‚ๆˆ้•ทใ—ใฆใ„ใใชใฉใ€‚

็คพไผšใซไธ€็Ÿณใ‚’ๆŠ•ใ˜ใ‚‹ใ‚ˆใ‚Šใ‚‚้€ฃๅฐ„ๆ•ฐใŒๅคšใใฆ็–ฒใ‚Œใพใ—ใŸ(*ยดะ”๏ฝ€)
ใƒ—ใƒญใ‚ฐใƒฉใƒ ใ‚ˆใ‚Šใ‚‚ไบบ้–“ๅดใซ่ฌŽใชไป•ไบ‹ใ‚’ใ•ใ›ใ‚‹ใ€็™บๆƒณใฎใ‚ปใƒณใ‚นใŒ็ด ๆ•ตใงใ™โ˜†ๅฝก

1
de_teiu_tkg
@de_teiu_tkg

@youwht

ใ‚ณใƒกใƒณใƒˆใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚

ไปฅไธ‹ๅ›ž็ญ”ใ„ใŸใ—ใพใ™ใ€‚
โ‘ ่จˆ็ฎ—ๅ‡ฆ็†ใฏใ€ใจใ‚Šใ‚ใˆใšใ‚ขใƒ—ใƒชใ‚’ๅฎŒๆˆใ•ใ›ใ‚‹ใŸใ‚ใซไธ€็•ชๆฅฝใชๅฎŸ่ฃ…ใซใ—ใŸ็ตๆžœใจใ—ใฆใใฎๆŒ™ๅ‹•ใซใ—ใพใ—ใŸใ€‚
็ขบใ‹ใซ็พๅฎŸใฎ้›ปๅ“ใ ใจๅ…ˆใซๅ…ฅใ‚ŒใŸๆ•ฐๅผใฎ่จˆ็ฎ—็ตๆžœใ‚’ไฟๆŒใ—ใคใคๆฌกใฎๅ…ฅๅŠ›ใ‚’ๅ—ใ‘ไป˜ใ‘ใ‚‹ใ‚ˆใ†ใซใชใฃใฆใ„ใพใ™ใญใ€‚

โ‘กใ“ใกใ‚‰ใฏใƒใ‚ฐใงใฏใชใไป•ๆง˜ใงใ™ใ€‚
ใ‚ˆใ‚Šใ‚ฏใ‚ฝใ‚ขใƒ—ใƒชๆ„Ÿใ‚’ๅ‡บใ™ใŸใ‚ใซใ‚ใˆใฆใ“ใ†ใ„ใ†่กจ็คบใซใ—ใฆใพใ—ใŸใ€‚

โ‘ข็งใŒ่ชฟในใŸ้™ใ‚Šใ ใจ้›ปๅ“ใซใ‚ˆใฃใฆใ‚ญใƒผใฎ้…็ฝฎใŒใพใกใพใกใ ใฃใŸใฎใงใ€ๆœ€ๅพŒใฎใ‚ญใƒผ้…็ฝฎใฏ็ตๆง‹้ฉๅฝ“ใงใ™ใ€‚
ใ“ใ“ใฏใกใ‚‡ใฃใจ่ฆ‹็›ดใ—ใŸๆ–นใŒ่‰ฏใ„ๆฐ—ใŒใ—ใฆใใพใ—ใŸใ€‚

่ฆๆœ›ใซใคใ„ใฆ
็ขบใ‹ใซ่‰ฒใ€…ใ‚ฒใƒผใƒ ๆ€งใ‚’ๆŒใŸใ›ใ‚‹ไบ‹ใงๆกˆๅค–ใกใ‚ƒใ‚“ใจ้Šในใ‚‹ใ‚ขใƒ—ใƒชใซใงใใใ†ใงใ™ใญใ€‚

1

Let's comment your feelings that are more than good

Qiita Advent Calendar is held!

Qiita Advent Calendar is an article posting event where you post articles by filling a calendar ๐ŸŽ…

Some calendars come with gifts and some gifts are drawn from all calendars ๐Ÿ‘€

Please tie the article to your calendar and let's enjoy Christmas together!

92
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Login to continue?

Login or Sign up with social account

Login or Sign up with your email address