1

私はこのコードを持っています:

            void FeetInches::decimal() 
            {
                if (inches == 6.0)
                {
                    inches = 5;
                    std::cout << feet << "." << inches << " feet";  //not the best but works..
                }
            }

これにより、12 フィート 6 インチが 12.5 フィートのように出力されます。この「ハックっぽい」方法を使用せず、次のようにしたいと思います。

            void FeetInches::decimal() 
            {
                if (inches == 6.0)
                {
                    inches = .5;
                    std::cout << feet << inches << " feet";  //not the best but works..
                }
            }

しかし、これは 60.5 インチを印刷します (6.5 インチが必要です)。基本的に、インチだけを印刷すると0.5と印刷されます。インチをゼロなしで 0.5 だけ印刷したい。printf メソッドまたは別の簡単な手法でこれを実装できませんか? ちなみにデータ型は2倍

4

1 に答える 1

8

最初にインチをフィートに変換してみませんか。

feet = feet + inches / 12.0;

結果を印刷します。または、変数を変更したくない場合は、ステートメントfeetで直接計算を行うか、計算に一時変数を使用します。cout

于 2012-10-12T21:18:58.773 に答える