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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
circled9
June 28, 2024
Programming
270
0
Share
数値の文字列をパースしよう
circled9
June 28, 2024
More Decks by circled9
See All by circled9
キースイッチ入門
circled9
0
100
CloudflareのAI関連の機能さわってみた
circled9
0
850
0.0.0.0 day
circled9
0
130
小数の丸め誤差の話
circled9
0
150
🔥 Hono v4 やってみた
circled9
1
220
JetBrains AI Assistant を試してみた
circled9
1
580
Fresh
circled9
0
270
React Hooks 勉強会 vol.3
circled9
2
460
JSON.stringify()
circled9
2
500
Other Decks in Programming
See All in Programming
ファインチューニングせずメインコンペを解く方法
pokutuna
0
220
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
5.2k
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
230
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.4k
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
130
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
740
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
2
470
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
130
Reactive ❤️ Loom: A Forbidden Love Story
franz1981
2
210
Feature Toggle は捨てやすく使おう
gennei
0
390
存在論的プログラミング: 時間と存在を記述する
koriym
5
710
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
270
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
240
The Language of Interfaces
destraynor
162
26k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
160
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
460
WCS-LA-2024
lcolladotor
0
500
We Have a Design System, Now What?
morganepeng
55
8.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
500
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