2016-09-09 4 views
1
public static void Main() 
    { 
     WriteLine("Farenheit Here>>"); 
     int F = Int32.Parse(ReadLine()); 

     Double FtoC = (5.0/9.0) * (F - 32); 
     WriteLine("the celsius is {0} ", FtoC); 
    } 

入力は整数に適用されますが、10進数でも機能します。 Ex。私が10を入力すると、それは私に答えを与えるでしょうが、私が10.5で入力するなら、それは動作を停止します。私は確かにC#の新しいです。C#摂氏への華氏

答えて

1

あなたは

decimal F = Decimal.Parse(ReadLine()); 

(私は、二重の上に小数を使用してお勧めしたい)現在、あなたはあなたが二重、または小数を使用することができますint型

Int32.Parse(ReadLine()); 

を使用している、あなたがしたい番号パーサーを使用する必要があります

decimal FtoC = (5.0M/9.0M) * (F - 32M); 
WriteLine("the celsius is {0} ", FtoC) 

(Mは10進リテラルを定義するために使用されます)

+0

ありがとうございました! – Prodigy

0

intは10進数を格納しません。まあ、Int32特に整数を扱うためであるdoubleまたはdecimal

public static void Main() 
{ 
    WriteLine("Farenheit Here>>"); 
    double F = double.Parse(ReadLine()); 
    Double FtoC = (5.0/9.0) * (F - 32); 
    WriteLine("the celsius is {0} ", FtoC); 
} 
+0

ありがとうございます、私はこれをもう少し良く理解し始めています。 – Prodigy

0

を使用してください。

public static void Main() { 
    Console.Write("Farenheit Here>> "); 
    Decimal F = Decimal.Parse(Console.ReadLine()); 
    Decimal FtoC = (5.0M/9.0M) * (F - 32M); 
    Console.WriteLine("The celsius is {0} ", FtoC); 
} 

そしてM接尾辞の使用を注意してください:あなたはDecimal値を処理したい場合、彼らは私のようなものを見ていると思いますので、自分自身のParse方法があります。 Decimalタイプを使用する場合は、foiblesのタイプのdoubleに戻すのではなく、完全にコミットする方がよいでしょう。

関連する問題