/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Regne med komma tal i bash script
Fra : News


Dato : 12-08-05 20:59

Jeg har egentligt skrevet det i en tidligere tråd, men den har ikke dette
emne, så måske er det mere relevant at starte en ny tråd.

Jeg har denne udregning i mit Bash script:

tal=$[ (10212 - 10001) / 100 ]
echo $tal

$tal BURDE give 2,11 men hvis jeg køre scriptet, skriver den kun "2" og ikke
"2.11"!? Hvordan regner man med komma tal i Bash?



 
 
Kent Friis (12-08-2005)
Kommentar
Fra : Kent Friis


Dato : 12-08-05 21:36

Den Fri, 12 Aug 2005 21:58:37 +0200 skrev News:
> Jeg har egentligt skrevet det i en tidligere tråd, men den har ikke dette
> emne, så måske er det mere relevant at starte en ny tråd.
>
> Jeg har denne udregning i mit Bash script:
>
> tal=$[ (10212 - 10001) / 100 ]
> echo $tal
>
> $tal BURDE give 2,11 men hvis jeg køre scriptet, skriver den kun "2" og ikke
> "2.11"!? Hvordan regner man med komma tal i Bash?

Samme svar - bc eller dc.

Mvh
Kent
--
Hard work may pay off in the long run, but lazyness pays off right now.

News (12-08-2005)
Kommentar
Fra : News


Dato : 12-08-05 21:48

>> $tal BURDE give 2,11 men hvis jeg køre scriptet, skriver den kun "2" og
>> ikke
>> "2.11"!? Hvordan regner man med komma tal i Bash?
>
> Samme svar - bc eller dc.

Okay, jeg har rodet lidt rundt med det og fundet frem til dette lidt
besværlige script:

tal='echo 211 / 100 | bc'.'echo 211 % 100 | bc'
echo $tal
Output = 2.11

Er der en nemmere måde?



Kent Friis (12-08-2005)
Kommentar
Fra : Kent Friis


Dato : 12-08-05 22:00

Den Fri, 12 Aug 2005 22:48:12 +0200 skrev News:
>>> $tal BURDE give 2,11 men hvis jeg køre scriptet, skriver den kun "2" og
>>> ikke
>>> "2.11"!? Hvordan regner man med komma tal i Bash?
>>
>> Samme svar - bc eller dc.
>
> Okay, jeg har rodet lidt rundt med det og fundet frem til dette lidt
> besværlige script:
>
> tal='echo 211 / 100 | bc'.'echo 211 % 100 | bc'
> echo $tal
> Output = 2.11
>
> Er der en nemmere måde?

$ echo "scale=2; 211/100" | bc
2.11
$ echo "2 k 211 100 / p" | dc
2.11

Mvh
Kent
--
Hard work may pay off in the long run, but lazyness pays off right now.

News (12-08-2005)
Kommentar
Fra : News


Dato : 12-08-05 22:06

>> tal='echo 211 / 100 | bc'.'echo 211 % 100 | bc'
>> echo $tal
>> Output = 2.11
>> Er der en nemmere måde?
>
> $ echo "scale=2; 211/100" | bc
> 2.11
> $ echo "2 k 211 100 / p" | dc
> 2.11

Ahh, okay nu forstår jeg. Tak skal du have.



Søg
Reklame
Statistik
Spørgsmål : 177549
Tips : 31968
Nyheder : 719565
Indlæg : 6408820
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste