端数処理
長さ計測の単位はmとし、小数点以下3位を四捨五入する。一般に設計図書の寸法は「mm」単位で記入されているが、 そのまま計算すると非常に細かい数値となる。積算上では長さの計測は「m」が単位であるから、端数が多いとそれだけ作業効率が悪いばかりか計算違いのもとにもなりやすい。このため「建築数量積算基準」など各種積算基準書では、 積算精度を勘案して小数点以下3位を四捨五入し、「cm」の位までとしている。
計算数値の端数についても小数点以下3位を四捨五入する。 電子データの場合は、入力時、計算途上で端数処理は行わなくてもよく、最後の内訳書に対応する数量で端数処理を行う。
また同一のものが数箇所ある場合の計算過程は、1箇所の長さ、面積、体積について四捨五入したのち、倍数を乗じる方法と、倍数を乗じた上で最後に四捨五入する方法と二通り考えられるが、前者は原則による計算とし、後者は便法による計算としている。多少の差はあるが、微細な誤差だけにほとんど問題はないので、いずれの方法によってもよいことになっている。
鉄筋の径、鉄骨材、木材の断面等は材料の規格を示すものであるので、この場合は上述の規定の適用外として、mmまで計測することとしている。また建築工事積算基準の第4編第2章第2節1通則および第5編第2種第2節6.
ウィリアム・カハンは端数処理の(あまり意識されていなかった)難しさを示し、「テーブルメーカーのジレンマ」というフレーズを提案した。これは「#2回以上の丸めの禁止」の節で『「もしかしたら」の部分をはっきりさせなければ、正しい丸めができない』と説明した内容の「はっきりさせる」ために必要なコストについて(実は)「オーダーを見積もる」ことすら不可能だ、という話である。カハンが指摘した後には、具体的に著しく「悪い例」としてどういう値があるか、といったサーベイなどが行われている。
その一例を示しながらカハン曰く、
そこにおいてオーバーフロー・アンダーフローをしないとき正しく丸められた y^w を全ての2つの浮動小数点数の引数に対して計算するのにどれだけのコストがかかるかだれも知らない。一方、評判の良い数学ライブラリは初等超越関数を多くの場合わずかに1/2ulpを超えるのに収まりほとんど常に十分1ulpに収まるように計算する。なぜ y^w は平方根のように1/2ulpに収まるよう丸められないのだ? なぜならばどれだけの計算がかかるかだれも知らないからだ...。超越的な表現を計算して既定の桁数に正しく丸めるのにどれだけの余分な桁数を保持しなければならないかを予想する一般的な方法はない。