Sitter och sliter mitt hår just nu. Jag har ingen bra lösning på det problem, mer än att du antingen skriver en egen MonyKlass som kan hantera den avrundningen till dig eller så gör du en utility som gör det för dig. Multiplicera med 2 Johan, visste att jag kunde lite på dig ;-)Avrunda tal - Decimaler
Behöver köra lite valutaomräkning.
Dvs, jag vill att 19.90 ska stå som 20.00 i summan.
Inga problem...
<code:c#>
System.Math.Round(variabel)
</code>
Jodå, visst fungerar det...
MEN, jag kommer aldrig i mitt liv behöva betala med en 50 öring mer..
hur löser man detta?
Alltså, allt som är mellan #.00 - #.24 ska bli #.00, allt mellan #.25 - #.74 ska bli #.50 och #.75 - #.99 ska bli 1.00.
ganska trist problem.. någon som har en lösning?Sv: Avrunda tal - Decimaler
det viktiga här är ju vad dina decimaler är. Så börja med att minska ditt tal med det heltal som du har. Math.Floor() borde alltid ge dig ditt heltal.
Sedan får du göra en if satas som kollar vad decimalerna är och avrunda talet till dig så som du vill ha det.
- MSv: Avrunda tal - Decimaler
Avrunda till närmsta heltal
Dividera med 2
Nu har du fått avrundat till närmsta 50-öring.
/JohanSv:Avrunda tal - Decimaler
Vad som hände var att jag gjorde sisåhär:
<code:c#>
//Här pysslar jag lite med att spara lite info till senare...
double y = double.Parse(label1.Text);
/räknar lite
double counter = y + args;
//här kollar vi lite vilka skatter som det ska räknas med...
double tax25 = counter * 0.2;
double tax12 = counter * 0.1071;
double tax6 = counter * 0.0566;
//Grejjar fram lite decimaler....
decimal tax1 = (decimal)tax25;
decimal tax2 = (decimal)tax12;
decimal tax3 = (decimal)tax6;
//fixar decimalen för countern
decimal z = (decimal)counter;
//Här har vi Johans test ;-)
summa = z * 2;
summa = System.Math.Round(summa);
summa = summa / 2;
//Kolla om det stämmer
label1.Text = z.ToString();
....
</code>
Och detta fungerar perfekt..
du ska ha ett stort tack Johan... och jag, ja, jag ska börja plugga lite matte tror jag så jag vet hur man ska räkna ut saker och ting :-D
Tack till dig med Magnus.