---
title: "Problem med tal"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/50285-problem-med-tal"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Marcus"
published: "2002-08-14T11:10:14.000Z"
updated: "2002-08-14T13:43:09.000Z"
replies: 4
views: 239
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/php/50285-problem-med-tal"
---

# Problem med tal

## #1 — Marcus, 2002-08-14T11:10Z

Jag har ett script som genererar fram 3 olika värden. Scriptet loopas ett par hundra ggr.

99\.9
100
100\.1

Dessa tre matas in i en ENKEL if-sats. 

```php
if ($tal == 99.9) {
    print "under hundra";
} elseif ($tal == 100.1) {
    print "över hundra";
} else {
    print "hundra";
}
```

 

Jag får inget felmeddelande såklart. Problemet är ju dock att ibland så går 99.9 och 100.1 under else-satsen, ibland inte. 

Vad har jag missat? Tack på förhand.

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

## #2 — SPiN, 2002-08-14T11:16Z

Testa att cast:a $decimaltal till double:

```
if( ( ( double ) $decimaltal ) == 99.9 )
...
```

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

## #3 — UlfT, 2002-08-14T11:19Z

> Problemet är ju dock att ibland så går 99.9 och 100.1 under else-satsen, ibland inte.

Luddigt uttryckt. Nåja, man ska undvika att göra den där typen av jämförelser med decimaltal. Hur vet du att scriptet alltid genererar **exakt** 99,9 eller 100,1? Det kanske i själva verket genererade 99,900000001? Det är **inte** lika med 99,9. Testa hellre om det är större eller mindre än 100, vilket tycks vara vad du är ute efter.

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

## #4 — Marcus, 2002-08-14T11:23Z

UlfT:

Visst kan jag det. 

Just i detta fallet kan inte talen bli något annat.

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

## #5 — Marcus E, 2002-08-14T13:43Z

Re: Problem med tal

Hur gör du och vad är ändamålet?

Flyttal ska du undvika om du inte behöver använda dem. Vill du slumpa fram talen 99.9, 100 eller 100.1, vill du slumpa fram ett tal mellan 0.0 och 200.0 eller vad är du ute efter?

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

---

Tråden på webben: https://www.webforum.nu/amne/php/50285-problem-med-tal
