---
title: "Avrundning?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/99091-avrundning"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "asp"
published: "2004-03-09T16:06:08.000Z"
updated: "2004-03-09T17:23:11.000Z"
replies: 8
views: 388
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/99091-avrundning"
---

# Avrundning?

## #1 — asp, 2004-03-09T16:06Z

Hej...

hur rundar man av ett tal?

Sedan så vill jag definera svaret till ett decimaltal, Double.

Såhär kan man göra för att definera talet som Double.

```
Dim resultat As Double
svar = txtHojd.Text * txtBredd.Text
txtSvar.Text = svar
```

Men man kan också gå en smidigare väg.

```
txtSvar.Text = txtHojd.Text * txtBredd.Text
```

Men då vet jag inte hur jag skall kunna definera svaret som Double. Kan man sätta allt inom parantes?

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

## #2 — Marcus E, 2004-03-09T16:18Z

Använd **Double.Parse**(txtHojd.Text). Då görs konverteringen precis som du vill ha den. I C# finns inga automatiska konverteringar. Då slipper man det här problemet.

Och så var det avrundning. Använd **Math.Round**.

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

## #3 — asp, 2004-03-09T16:49Z

Så detta är korrekt?

```
txtSvar.Text = Math.Round(Dobule.Parse(txtHojd.Text * txtBredd.Text))
```

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

## #4 — Marcus E, 2004-03-09T16:50Z

Nja, Parse ska köras för varje konvertering. Det mest korrekta är:
txtSvar.Text = Math.Round(Double.Parse(txtHojd.Text) \* Double.Parse(txtBredd.Text)).ToString()

Double, inte Dobule. :)

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

## #5 — asp, 2004-03-09T16:58Z

Det var bara ett stavfel. :)

Vad gör ToString() ??

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

## #6 — Dino, 2004-03-09T17:14Z

Math.Round() retunerar ett värde av typen double och TextBoxens property Text är av typen string. Så om du försöker tilldela Text värdet av Round så kommer du få ett felmeddelande. Vad ToString() gör är att den retunerar en string av det objekt den används på. I ditt fall görs double om till string.

red/lite tydligare

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

## #7 — Marcus E, 2004-03-09T17:18Z

ToString() eller ToString konverterar double till en sträng, precis som Dino skriver, men det fungerar även utan ToString. Då kommer VBs automatiska konvertering in och det var den du ville undvika från början.

Med ToString kan du faktiskt också avrunda talen för formateringsbehov. Så här kommer ett till förslag:
txtSvar.Text = (Double.Parse(txtHojd.Text) \* Double.Parse(txtBredd.Text)).ToString("0")

Obs. att ToString avrundar till en sträng medan Math.Round avrundar till en double.

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

## #8 — asp, 2004-03-09T17:19Z

Men när jag skriver såhär så behöver jag inte använda ToString()

```
txtSvar.Text = txtHojd.Text * txtBredd.Text
```

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

## #9 — asp, 2004-03-09T17:23Z

Förstod nu...

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/99091-avrundning
