初めたての人 さんが書きました:この最後の1が付くのはなぜですか?
一般的な浮動小数点数(IEEE754)では小数を2進数で表現するので、10進数では有限小数の値でも2進数では無限小数になり、丸め誤差が生じることがあるためです。
初めたての人 さんが書きました:また解決の仕方はありますか?
この場合は、64ビットIEEE754の浮動小数点数は10進数で15桁程度の制度があるので、double型を使えば改善するかもしれません。
※double型が64ビットIEEE754の浮動小数点数とは限りません
もしくは、元の値をそのまま保持することが重要であれば、そもそも浮動小数点数に変換せず文字列のまま処理するといいでしょう。