Cのatof()で"2.01"は2.099999...になる

浮動小数点は誤差がでちゃう。
できるなら乗算して整数にしてあつかうようにしたほうがいいけど

小数点第2までしか扱わない、とか仕様決めれば
atof("2.01")したら+0.001などして誤差修正するといい場合もあるかもね

なんにしろ、実装次第。