---
title: "Avrunda"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/119496-avrunda"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "aleborg"
published: "2005-01-06T18:04:54.000Z"
updated: "2005-01-07T09:58:40.000Z"
replies: 2
views: 267
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/119496-avrunda"
---

# Avrunda

## #1 — aleborg, 2005-01-06T18:04Z

Hur avrundar man en double till närmsta halv eller heltal?

double pengar = 235.26;
Math.Round(pengar);

ger mig 235 men jag vill ha det till 235.50 och 235.24 ska bli 235.00 osv

Permalänk: https://www.webforum.nu/p/119496

## #2 — Nickemannen, 2005-01-06T19:11Z

Kanske finns något inbyggt annars fungerar den här.

```
private double CurrencyRound(double dblArg)
		{
			double dblValue = dblArg-Math.Round(dblArg);
			if(dblValue >= 0.25)
			{
				return (dblArg-dblValue)+0.5;
			}
			else if(dblValue < -0.25)
			{
				return (dblArg-dblValue)-0.5;
			}
			else
			{
				return Math.Round(dblArg);
			}
		}
```

Permalänk: https://www.webforum.nu/p/1522730

## #3 — Dino, 2005-01-07T09:58Z

Alt 2:

```
public static double LevelDime(double price)
{
   int totalcost = (int)price;
   double d = price - totalcost;
           
   if(d < 0.25d)
      return (double)totalcost;

   if(d > 0.74d)
      return (double)(++totalcost);

   return (double)(totalcost + 0.5);
}
```

Permalänk: https://www.webforum.nu/p/1523007

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/119496-avrunda
