発言者: tDB
発言日: 2008 02/10 09:42
発言元: 220.146.118.214
これは,昨日のと同様のオーバーフローです。
> \def\a{1.732051}
> \EMround\a{4}\a
を emath で処理する過程は
1) 1.732051 を 10^4 倍して(実際には小数点を移動) 17320.51
2) 0.5 を加えて 17321.01
3) 小数以下を切り捨て 17321
とするのですが,
2) の段階で TeX がオーバーフローします。
(16383 を超えている)
( 1)の段階は,数値計算ではなく,文字列処理ですから,オーバーフローしません)
対策は,
a) FP パッケージを使う
b) perl と連携する
下に perl と連携するリストを書きます:
% --- re7070.tex -----------------------------------
\documentclass{jarticle}
\usepackage{emathPl}
\begin{document}
\calcval[s]{emround(1.732051,4)}\ans\ans
\end{document}
▼関連発言
│
└◆7070:\EMround がエラー [石原 守] 02/10 09:19
└◆7071:Re:\EMround がエラー [tDB] 02/10 09:42
├◆7072:Re[2]:\EMround がエラー [石原 守] 02/10 09:52
└◆7073:Re[2]:\EMround がエラー [tDB] 02/10 11:50
└◆7074:Re[3]:\EMround がエラー [石原 守] 02/10 13:21
└◆7075:Re[4]:\EMround がエラー [tDB] 02/10 15:19
└◆7076:Re[5]:\EMround がエラー [石原 守] 02/10 15:49<-last