Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
数値の文字列をパースしよう
Search
circled9
June 28, 2024
Programming
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
数値の文字列をパースしよう
circled9
June 28, 2024
More Decks by circled9
See All by circled9
キースイッチ入門
circled9
0
120
CloudflareのAI関連の機能さわってみた
circled9
0
970
0.0.0.0 day
circled9
0
140
小数の丸め誤差の話
circled9
0
160
🔥 Hono v4 やってみた
circled9
1
250
JetBrains AI Assistant を試してみた
circled9
1
610
Fresh
circled9
0
280
React Hooks 勉強会 vol.3
circled9
2
470
JSON.stringify()
circled9
2
510
Other Decks in Programming
See All in Programming
今さら聞けない .NET CLI
htkym
0
210
VibeCodingからAgenticWorkflowへ
starfish719
0
800
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
240
運用ダッシュボードの設計を誰も教えてくれないのだけどみなさんどうしてるんですか? - チームに監視するという文化を根付かせるための第一歩を踏みたい -
satoshi256kbyte
1
140
Oxlintはいいぞ(続)
yug1224
1
410
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
1
1.9k
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
100
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
230
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1k
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
19k
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
130
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
120
Featured
See All Featured
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.8k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
620
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Navigating Weather and Climate Data
rabernat
0
490
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Designing Powerful Visuals for Engaging Learning
tmiket
1
510
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Raft: Consensus for Rubyists
vanstee
141
7.6k
Marketing to machines
jonoalderson
1
5.7k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Transcript
ͷจࣈྻΛύʔε͠Α͏ Niigata 5min Tech #9 @circled9 1
ࣗݾհ @circled9 দҪɹਖ਼ࢤ / Matsui Masashi גࣜձࣾϞχΫϧ TypeScriptͰ৭ʑܭࢉ͢ΔࣄΛ ͯ͠·͢ 2
ͷจࣈྻͷύʔε • JavaScriptͰͷจࣈྻͷύʔε͠·͢ΑͶʁ • parseInt, parseFloat, NumberͷͲΕ͍͍͔͑Έ·ͤΜ ͔ʁ • ͱ͍͏Θ͚Ͱ৭ʑύʔεͯ͠Έ·ͨ͠
3
4
"123" 5
ී௨ͷͷ߹ > parseInt("123") <- 123 > parseFloat("123") <- 123 >
Number("123") <- 123 6
"123,456" 7
ܻ̏۠Γͷͷ߹ > parseInt("123,456") <- 123 > parseFloat("123,456") <- 123 >
Number("123,456") <- NaN 8
"123_456" 9
Numeric Separator • ES2021ͷه๏ • ͷ۠Γจࣈͱͯ͠ΞϯμʔείΞ͕͑Δ > 123_456_789 <- 123456789
10
ΞϯμʔείΞ۠Γͷͷ߹ > parseInt("123_456") <- 123 > parseFloat("123_456") <- 123 >
Number("123_456") <- NaN 11
ͷ·ͱΊ • parseIntͱparseFloatҎ֎ͷจࣈ͕ग़ͯ͘Δ·Ͱύʔε͢ Δ • Numberมͳจࣈ͕͋ΔͱNaNΛฦ͢ 12
খ 13
"1.23" 14
ී௨ͷখͷ߹ > parseInt("1.23") <- 1 > parseFloat("1.23") <- 1.23 >
Number("1.23") <- 1.23 15
".123" 16
খͷলུܗͷ߹ > parseInt(".123") <- NaN > parseFloat(".123") <- 0.123 >
Number(".123") <- 0.123 17
"192.168.1.1" 18
খͰͳ͍Կ͔ͩͬͨ߹ > parseInt("192.168.1.1") <- 192 > parseFloat("192.168.1.1") <- 192.168 >
Number("192.168.1.1") <- NaN 19
খͷ·ͱΊ • parseIntҎ֎ͷจࣈ͕ग़ͯ͘Δ·Ͱύʔε͢Δ • parseFloatখͱͯ͠ύʔεͰ͖Δͱ͜Ζ·Ͱύʔε͢Δ • Numberখͱ͓͔͍ͯ͠͠߹NaNΛฦ͢ 20
ͦͷଞͷ 21
"1.234E-5" 22
ࢦදهͷ߹ > parseInt("1.234E-5") <- 1 > parseFloat("1.234E-5") <- 0.00001234 >
Number("1.234E-5") <- 0.00001234 23
"Infinity" 24
In fi nityͷ߹ > parseInt("-Infinity") <- NaN > parseFloat("-Infinity") <-
-Infinity > Number("-Infinity") <- -Infinity 25
" 123 " 26
લޙʹۭന͕͋Δ߹ > parseInt(" 123 ") <- 123 > parseFloat(" 123
") <- 123 > Number(" 123 ") <- 123 27
" 1 2 3 " 28
్தʹۭന͕͋Δ߹ > parseInt(" 1 2 3 ") <- 1 >
parseFloat(" 1 2 3 ") <- 1 > Number(" 1 2 3 ") <- NaN 29
ͦͷଞͷͷ·ͱΊ • parseFloatNumberࢦදهInfinityʹରԠ͍ͯ͠Δ • Ͳͷؔจࣈྻͷલޙͷۭനແࢹ͢Δ • Ͳͷؔจࣈྻͷ్தͷۭനύʔεͰ͖ͳ͍จࣈѻ͍ʹͳΔ 30
ۭͷ 31
"" 32
ۭจࣈͷ߹ > parseInt("") <- NaN > parseFloat("") <- NaN >
Number("") <- 0 33
null 34
nullͷ߹ > parseInt(null) <- NaN > parseFloat(null) <- NaN >
Number(null) <- 0 35
undefined 36
unde fi nedͷ߹ > parseInt(undefined) <- NaN > parseFloat(undefined) <-
NaN > Number(undefined) <- NaN 37
ۭͷͷ·ͱΊ • NumberۭനจࣈͱnullΛύʔε͢Δͱ0Λฦ͢ • ҰํɺparseIntͱparseFloatNaNΛฦ͢ • ͲͷؔundefinedΛύʔε͢ΔͱNaNΛฦ͢ 38
·ͱΊ 39
·ͱΊ • parseIntࣈͷ෦ΛͰ͖Δ͚ͩύʔε͢Δ • parseFloatখͬΆ͍෦ΛͰ͖Δ͚ͩύʔε͢Δ • Numberมͳจࣈ͕ೖͬͯΔͱNaNΛฦ͢ • Numberͷۭനจࣈͱnullͷڍಈʹҙ 40
͓·͚ 41
͜ΕΒҰॹ > parseInt === Number.parseInt <- true > parseFloat ===
Number.parseFloat <- true 42
͜ΕҰॹ > +"" === Number("") <- true 43