Gå til innhold

C#: Trenger hjelp til å skrive store tall nøyaktig


Anbefalte innlegg

Hei!

 

Jeg har nettopp begynt å lære meg C#, i den forbindelse løser jeg noen problemer på denne siden Project Euler. Nå driver jeg med problem 20 som ser sånn ut. Dette er i og for seg greit nok, og jeg har skrevet følgende kode(jeg bruker visual web developer og skriver svaret til en webside for de som lurer på hvorfor koden er litt spesiel på et par punkter):

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page 
{
protected void Page_Load(object sender, EventArgs e)
{
	double fakult = 1;
	long sum = 0;

	for (int gangetall = 1; gangetall <= 100; gangetall++)
	{
		fakult = fakult * gangetall;
	}

	string fakultStr = Convert.ToString(fakult);
	char[] fakultChr = fakultStr.ToCharArray();

	for (int indeks = 0; indeks <= fakultStr.Length-1; indeks++)
	{
		sum += Convert.ToInt32(fakultChr[indeks]);
	}

	labResultat.Text = Convert.ToString(fakult);
	labResultat.Text += Convert.ToString(sum);
}


}

Problemet er bare at double variablen "sum" lagrer 100! som X,XXXXXXXXXEXXX i stedet for å skrive det ordentlige tallet, dermed blir summering av sifrene helt gal. Er det noen so har en løsning på det problemet?

Endret av ptta
Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...