---
title: "Float i MS Server 2000 och .NET"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/48674-float-i-ms-server-2000-och-net"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "ptype"
published: "2002-07-25T08:44:20.000Z"
updated: "2002-11-24T15:52:42.000Z"
replies: 3
views: 255
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/databaser-sql/48674-float-i-ms-server-2000-och-net"
---

# Float i MS Server 2000 och .NET

## #1 — ptype, 2002-07-25T08:44Z

Hallå! Har ett fält i en MS Server 2000-databas som är specificerad som float.

Programmerar C# och bygger upp min SQL-sats enl. nedan.

```
insertCmd.Parameters.Add(new SqlParameter("@fltPriceAdd", SqlDbType.Float));
insertCmd.Parameters["@fltPriceAdd"].Value=price;
```

 

där price är float. Problemet är att sätter jag in t.ex. 0,35 i databasen så lagras i databasen 0,349999994039536. Motsvarande för andra siffror. 

Har provat med SqlDbType.Real också men det blir samma sak.

Nån som vet hur man slipper detta?

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

## #2 — GunnarD, 2002-07-25T08:53Z

En dator kan inte hantera decimaltal exakt. 
Så du kommer alltid att få sådana fel så länge du hanterar flyttal, tyvärr.

Titta på detta lilla c program:

```
#include <stdio.h>

main(void) {
        float i;
        for(i=7.0; i<8.0; i+=.1) {
                printf("%g\t%f\n", i, i);
        }
}
```

Programmet skall skriva ut talen 7.0, 7.1 .... 7.9 (10 tal) och inte 8.0 med det gör det.

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

## #3 — LarsG, 2002-07-25T17:14Z

Använd typen decimal istället.

decimal(s,p) -- s totala antalet siffror
                    \-- p antal decimaler

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

## #4 — ptype, 2002-11-24T15:52Z

tack!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/48674-float-i-ms-server-2000-och-net
