JavaScript の parseInt で小数を整数に変換しようとしてはまる
現象
- JavaScript の parseInt で小数を整数に変換しようとして、はまったことがありました。
以下のように、小数第6位までが 0 で、第7位以降に 0 以外の値があると、
変換結果の整数が 0 ではなくなってしまいます。
小さい値を入力した方が、変換結果は逆に大きな値になるため、
一見すると理由が分かりにくい現象でした。
gosh callcc.scm | |
pause |
@rem set GOSH=C:\Gauche\Gauche-mingw-dist\Gauche-i686\bin\gosh.exe | |
set GOSH=C:\Gauche\Gauche-mingw-dist\Gauche-x86_64\bin\gosh.exe | |
@rem set GOSH=C:\Gauche\Gauche-mingw-dist\Gauche-x86_64_2_mutexlock\bin\gosh.exe | |
%GOSH% test_0001_open.scm | |
pause |
@set PATH=C:\msys64\mingw32\bin;C:\msys64\usr\local\bin;C:\msys64\usr\bin;C:\msys64\bin;%PATH% | |
set MSYSTEM=MINGW32 | |
for %%i in ( | |
spinlock mutexlock | |
) do ( | |
gcc -g -O2 -Wall -Wextra -o %%i_32.exe %%i.c | |
) | |
pause |
@set PATH=C:\msys64\mingw64\bin;C:\msys64\usr\local\bin;C:\msys64\usr\bin;C:\msys64\bin;%PATH% | |
set MSYSTEM=MINGW64 | |
for %%i in ( | |
inout execvp | |
) do ( | |
gcc -g -O2 -Wall -Wextra -o %%i.exe %%i.c | |
) | |
pause |
/* | |
Windows Console Mouse Input Test | |
2021-3-13 v1.28 | |
OS : Windows 10 (version 20H2) (64bit) | |
DevTools : MSYS2/MinGW-w64 (64bit) (gcc version 10.2.0 (Rev6, Built by MSYS2 project))) | |
Terminal : Windows Terminal 1.6.10571.0 | |
Compile : gcc -g -O2 -Wall -Wextra -o wincon_mouse.exe wincon_mouse.c | |
*/ | |
#include <windows.h> |
gosh 1000_make_code.scm | |
pause |
Windows API の ReadConsoleW が、1バイト多く書き込む件の再現テストを行います。
<確認環境>
OS : Windows 8.1 (64bit)
<Scheme:初心者の質問箱> | |
https://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3A%E5%88%9D%E5%BF%83%E8%80%85%E3%81%AE%E8%B3%AA%E5%95%8F%E7%AE%B1 | |
(rfc.http) http-get での error について(Gauche-0.9.12) | |
(use rfc.http) | |
(http-get "artscape.jp" "/exhibition/traveling/index.html" :secure #t) | |
*** ERROR: TLS handshake failed: SSL - A field in a message was incorrect or inconsistent with other fields (-26112) |