Angenommen, ich habe den folgenden Code:
int digit1 = 1;
int digit2 = 3;
Und ich muss die zwei ganzen Zahlen kombinieren, was zu einer Gleitkommazahl führt, die in diesem Fall 13.0f
entspricht. Dies ist wahrscheinlich einfach, da ich neu in C # bin und es aus einem Buch lerne, aber wie wird es gemacht?
Beispiel:
int digit1 = 3;
int digit2 = 6;
float result = combine_integers (digit1, digit2);
// result = 36
HINWEIS:
Ich brauche eigentlich keine Funktion. Ich habe das nur für das Beispiel getan.
4 Antworten
float combine_integers (int digit1, int digit2)
{
return 10*digit1 + digit2;
}
Beispiel
combine_integers(1, 3) ==>
10 * 1 + 3 ==>
10 + 3 ==>
13
combine_integers(3, 6) ==>
10 * 3 + 6 ==>
30 + 6 ==>
36
Wenn Ihre ganzen Zahlen einstellig sind, erledigt Abelenkys Antwort oben dies am schnellsten für Sie. Wenn es sich nicht um einzelne Ziffern handelt, können Sie string.Format () wie oben ausführen. Es gibt jedoch auch einige Randfälle, die nicht behandelt werden, z. B. negative Werte oder beide Werte sind 0.
Die obigen Zeichenfolgenoperationen können zu Ergebnissen wie "00", "5-1" führen oder einen Fehler auslösen, wenn das Zeichenfolgenergebnis nicht analysiert werden kann. Im Fall von {5, -1} könnten Sie 49 erhalten.
Was ich tun würde, ist meine Basen abzudecken und anzunehmen, dass Sie den absoluten Wert wollen, wenn Sie eine negative Zahl verwenden. Dieser Code deckt auch den Basisfall einzelner Ziffern ab, bietet Ihnen jedoch eine gewisse Flexibilität, sodass combin_integers (12,34) 1234.0f zurückgibt.
static float combine_integers (int digit1, int digit2)
{
int checker = Math.Abs(digit2);
int result = Math.Abs(digit1);
do
{
result *= 10;
checker /= 10;
} while(checker>0);
result += Math.Abs(digit2);
return (float)result;
}
private static float combine_integers(int a, int b)
{
return float.Parse(a.ToString() + b.ToString());
}
https://dotnetfiddle.net/M9Bpwt
Versuchen Sie diesen Code:
int digit1 = 3;
int digit2 = 6;
string concat = string.Format("{0}{1}", digit1, digit2);
float result = float.Parse(concat);
Neue Fragen
c#
C # (ausgesprochen "siehe scharf") ist eine statische Typisierungsprogrammiersprache mit mehreren Paradigmen, die von Microsoft entwickelt wurde. C # -Code zielt normalerweise auf die .NET-Tools und -Laufzeiten von Microsoft ab, zu denen unter anderem .NET Framework, .NET Core und Xamarin gehören. Verwenden Sie dieses Tag für Fragen zu Code, der in der formalen Spezifikation von C # oder C # geschrieben ist.