---
title: "0,01 --> 1/100"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/170858-0-01-1-100"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Fredriksson"
published: "2008-04-17T12:39:41.000Z"
updated: "2008-06-29T20:30:55.000Z"
replies: 22
views: 1486
page: 1
pages: 2
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/asp/170858-0-01-1-100"
---

# 0,01 --> 1/100

_Sida 1 av 2._

## #1 — Fredriksson, 2008-04-17T12:39Z

Hej!

Skulle behöva tips på ett smidigt sätt att göra om värden i formatet 0,01 till 1/100.

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

## #2 — voigtann1, 2008-04-17T12:40Z

```
dim tal
tal = 0.01
Response.Write (tal*100) & "/100"
```

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

## #3 — Fredriksson, 2008-04-17T14:04Z

Inte riktigt vad jag söker men jag bör nog förklara lite mer... :)

Dom värden jag har är sekunder och ser ut t ex så här:
0,000625
0,40
2
0,0001
etc

Och jag vill att dom ska skriva ut så här:
2 (vid hela sekunder ska alltså inget göras)
1/1000
1/40
1/100
etc

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

## #4 — headbug, 2008-04-17T15:39Z

Vet du att ditt tal alltid kan skrivas som ett rationellt tal? Eller kan det förekomma godtyckliga decimaltal?

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

## #5 — Fredriksson, 2008-04-17T16:31Z

Hur menar du?
Har i alla fall aldrig stött på att talen ser ut på något annat sätt än mina exempel ovan.

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

## #6 — headbug, 2008-04-17T18:06Z

Öh, nehej, då kan jag tala om att det bara är vissa decimaltal som med enkelhet kan skrivas som bråk. Till exempel kan 0.5 skrivas som 1/2. 

Men talet 0.76398293847298742394872982734987234 är lite svårare att skriva som ett bråk. 

Jag stöter på sådana tal relativt ofta.

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

## #7 — Fredriksson, 2008-04-17T18:19Z

Det rör sig om EXIF-information från en kamera gällande slutartid. Och inställning av slutartid görs i formatet 1/100, 1/200 etc så därför bör det bara vara sånna värden som är aktuella.

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

## #8 — Fredriksson, 2008-04-29T09:57Z

Ingen som vet?

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

## #9 — i2n2, 2008-04-29T10:41Z

Pseudokod, kan inte ASP.

```
if t >= 1 then
	// alla t >= 1 är enligt förutsättningarna ett heltal.
	resultStr = SträngAvTal(t)
else
	// alla t <= 1 invers 1/t är enligt förutsättningarna bara avrundningsfel från ett heltal.
	resultStr = AddStr("1/",SträngAvTal(AvrundaTillHeltal(1/t))
end if
```

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

## #10 — Blixtsystems, 2008-04-29T10:42Z

Nu är jag inte haj på ASP, men som pseudokod:

```
num:int = 0.4     // decimalnummer vi vill omvandla till bråk

for(i=1;i<10000;i++){
    if(round(i * num) == i * num){
        print((i*num)+"/"+i)
        break
    }
 }
```

Säkert inte det smartaste och effektivaste sättet att köra med en loop, men det borde funka iaf.

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

## #11 — spango, 2008-04-29T10:42Z

Tja, om du tar t.ex. 1/0,000625 så får du 1600, och jag antar att 0,000625 betyder 1/1600 sekunders slutartid, så om slutartiderna alltid är på formen 1/x är det väl rätt enkelt. Om slutartid \> 1, skriv ut slutartid, annars skriv ut "1/" & (1 / slutartid) typ.

**red.** D'oh, slagen.

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

## #12 — Blixtsystems, 2008-04-29T10:49Z

Om 0.40 är ett nummer som förekommer så är ju det 2/5...är det en miss eller finns det som slutartid?
Är det alltid 1/x är i2n2's lösning smidigare, men med 0.40 får du 1/2.5

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

## #13 — i2n2, 2008-04-29T10:59Z

> **Blixtsystems skrev:**
>
> Om 0.40 är ett nummer som förekommer så är ju det 2/5...är det en miss eller finns det som slutartid?
> Är det alltid 1/x är i2n2's lösning smidigare, men med 0.40 får du 1/2.5

Jag slarvade alltså ännu en gång med att läsa förutsättningarna och litade på min erfarenhet av att min enkla digitalkamera alltid visar 1/heltal som slutartider.

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

## #14 — Fredriksson, 2008-04-29T13:53Z

Tack för svaren!
Vore tacksam om nån kunde översätta det till ASP...

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

## #15 — voigtann1, 2008-04-29T14:13Z

```
num:int = 0.4     // decimalnummer vi vill omvandla till bråk

for(i=1;i<10000;i++){
    if(round(i * num) == i * num){
        print((i*num)+"/"+i)
        break
    }
 }
```

 Blir Precis samma fast med ASP syntax:

```
dim i, num

num = 0.4

for i=1 to 10000
	If Round(i * num) = i * num Then
		Response.Write (i*num) & "/" & i
		Exit For
	End If
Next
```

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

## #16 — Blixtsystems, 2008-04-29T15:08Z

Förutom att det inte är någon typing på "num" som jag av någon märklig anledning angett som int, så din kod fungerar förmodligen i motsats till min :)

Vad min snutt saknar är en koll om vi redan har ett heltalsnummer, så 2 kommer resultera i "2/1".
Vill du undvika det får du lägga till något i stil med:

```
If Round(num) = num Then
    Response.Write num
Else
    //loopen
End if
```

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

## #17 — i2n2, 2008-04-29T15:41Z

Kanske lite offtopic men...  Enligt Exif Version 2.2 så är "ExposureTime" i filen lagrad som två 32-bitars heltal (RATIONAL - The first LONG is the numerator and the second LONG expresses the denominator.) så om man hämtar informationen direkt från bildfiler så borde inte problemet existera.

Om man med php-funktionen exif_read_data tittar på EXIF informationen på de testbilder som finns på exif.org så får jag t.ex.

> canon-ixus.jpg EXIF ExposureTime 1/350
> fujifilm-dx10.jpg COMPUTED ExposureTime 0.010 s (1/97)
> fujifilm-finepix40i.jpg COMPUTED ExposureTime 0.022 s (1/45)
> fujifilm-mx1700.jpg COMPUTED ExposureTime 0.006 s (1/169)
> kodak-dc210.jpg EXIF ExposureTime 1/30
> kodak-dc240.jpg EXIF ExposureTime 1/30
> nikon-e950.jpg EXIF ExposureTime 10/770
> olympus-c960.jpg EXIF ExposureTime 1/345
> ricoh-rdc5300.jpg COMPUTED ExposureTime 0.011 s (1/91)
> sanyo-vpcg250.jpg EXIF ExposureTime 1/171
> sanyo-vpcsx550.jpg EXIF ExposureTime 10/483
> sony-cybershot.jpg EXIF ExposureTime 1/197
> sony-d700.jpg COMPUTED ExposureTime 0.031 s (1/32)

Även om värden som 10/483 inte känns riktigt som standard så är det kanske något man kan leva med.

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

## #18 — Fredriksson, 2008-05-01T17:48Z

Funkar tyvärr fortfarande inte...

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

## #19 — voigtann1, 2008-05-01T17:53Z

Blixtsystems: ASP kan du inte typa variablerna.

Fredirksson: Hur fungera det inte? Jag får ut 2/5 när jag testar. Så Visst fungera koden... kanske inte riktigt som du vill men då får man kommentera på vilket sätt det inte fungera.

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

## #20 — Fredriksson, 2008-05-01T17:57Z

Jag testar den på olika bilder och då får jag ibland inget värde alls.
Och sen så vill ja gärna att det ska skrivas ut på samma sätt som slutartid anges dvs som t ex 1/300.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/170858-0-01-1-100  
Nästa sida: https://www.webforum.nu/amne/asp/170858-0-01-1-100/page2.md
