2017-07-13 11 views
-4

こんにちは私は#何を要求するのかユーザーに2つの数値を返し、値を返しますが、ユーザーが何倍の数値を入力した場合でもプログラムは問題を解決しますもし他のステートメントbuit私はどのように行うか分からない。C#条件式内のデータ型を変換する方法

これはコードです。

using System; 

namespace c_ 
{ 
class suma 
{ 
    static void Main(string[] args) 
    { 
     int N1; 
     int N2; 
     int suma; 
     Console.WriteLine ("Digite el numero"); 
     N1 = int.Parse(Console.ReadLine()); 
     Console.WriteLine ("Digite el otro numero"); 
     N2 = int.Parse(Console.ReadLine()); 
     suma = N1 + N2; 
     Console.WriteLine ("Total " + suma); 
    } 
} 
} 
+1

理由だけdouble'どこでも '使わないのでしょうか? –

+0

ええ、私は入力値をdoubleに変換するif else文を作成する必要があります。 – SERGIO

+2

いいえ、あなたは必要ありません。そうでなければ 'double'値と' double.Parse'を使うか、 'decimal.Parse'を代わりに使うようにしてください。なぜなら' decimal'算術はあまり驚くことではないでしょう... –

答えて

0

まず、いくつかの基本を学びます。 Here Doubleについて読むことができます。しかし、それはあなたのソリューションです:

 int suma = 0; 
     int n = 2; 
     for (int i = 0; i < n; i++) 
     { 
      double number; 
      if (!double.TryParse(Console.ReadLine(), out number)) 
      { 
       // Tell user input is invalid 
      } 
      else 
      { 
       suma += (int) number; 
      } 
     } 

     Console.WriteLine("Total " + suma); 

あなたは本当に、ユーザーに彼の入力タイプを伝えるために必要がある場合:

int suma = 0; 
int n = 2; 
for (int i = 0; i < n; i++) 
{ 
    int intNumber; 
    double doubleNumber; 
    if (int.TryParse(Console.ReadLine(), out intNumber)) 
    { 
     Console.WriteLine("Digite el numero"); 
     suma += intNumber; 
    } 
    else if (double.TryParse(Console.ReadLine(), out doubleNumber)) 
    { 
     Console.WriteLine("Digite el otro numero"); 
     suma += (int)doubleNumber; 
    } 
    else 
    { 
     // Tell user input is invalid 
    } 
} 

Console.WriteLine("Total " + suma); 
関連する問題