2017-11-21 8 views
-4

期待される出力の文字列表現をフォーマットする方法30.00 ですが、問題はなかったので、実際の結果は、30ダブル

class Program 
{ 
    static void Main(string[] args) 
    {    
     short a = 10; 
     int b = 20; 
     double d = (double)(a + b); 
     Console.WriteLine(d); 
     Console.ReadKey(); 
    } 
} 
+3

として出力が得られます動作するはず? – BugFinder

+0

'int'は暗黙のうちに' double'に変換可能です。 –

+0

は以下のように動作します: 'double d =(a + b);' –

答えて

2

更新

あるint型から「変換」/shortを倍にするが、結果の文字列の書式は、印刷時にAnswerを更新した。


int/shortをDoubleに明示的にキャスト/変換する必要はありません。それは暗黙のうちに行われます。

暗黙のキャストは、以下に示すように動作します:

int i = 3; 
    double d = i; 

あなたのコードの作業例を: 明示的なキャストの必要はありません。

class Program 
{ 
    static void Main(string[] args) 
    {    
     short a = 10; 
     int b = 20; 
     double d = a + b; 
     Console.WriteLine(d.ToString("0.00")); 
     Console.ReadKey(); 
    } 
} 

結果:

Result of the code above

それとも、Convert.ToDouble() 使用例を使用することができます。

int i = 3; 
    double x = Convert.ToDouble(i); 

は、さらなる説明のためにthisthisを見てください。

+1

私は30.00のような出力を得ようとしました。 – Niru

0

この行を変更してください。

Console.WriteLine(d);この

Console.WriteLineを(d.ToString( "0.00"))に

これは、ここでは、実際の問題をいただきましたので、

は30.00