2012-10-12 210 views
1

十進制格式我有這樣的代碼:更優雅C++

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

這將打印的東西就像是12英尺6英寸12.5腳。我寧願不使用此「的hackish」的方法,使之像這樣:

  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。我希望英寸只打印.5而不是零。不能使用printf方法或其他快速技術來實現這一點?數據類型是雙順便說

+0

你可以將你的腳和英寸轉換爲只是腳。 –

回答

8

如何首先把你英寸到腳:

feet = feet + inches/12.0; 

現在打印出結果。或者,如果您不想更改變量feet,則可以直接在cout語句中進行計算,或者使用臨時變量進行計算。

+0

那麼,這絕對不會重新發明輪子。謝謝您的幫助。 –