(make-thread :name common-lisp :part 5)
at TECH
430:デフォルトの名無しさん
08/08/28 12:20:43
lisp以前の話だが四捨五入の基本的なアルゴリズム(0.5足してから切り捨て)は
知っておいてくれ。
(defun cut4 (v &optional (d 0))
(let* ((c (expt 10 d))
(a (float (* (floor (+ (/ v c) 0.5)) c))))
(values a (- v a))))
第2引数の意味は>>418と同じ。
(mapcar #'(lambda (d) (cut4 283.745 d)) '(-2 -1 0 1 2))
=> (283.75 283.7 284.0 280.0 300.0)
ついでに統計とか財務計算で四捨五入じゃなくてroundが使われるっていう理由も
知っておくと良いと思う。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4164日前に更新/237 KB
担当:undef