Como efetuar operações aritmétricas com strings?

1. Como efetuar operações aritmétricas com strings?

Minduim Power
minduim

(usa Ubuntu)

Enviado em 16/04/2009 - 14:33h

Pessoal o problema é o seguinte: Eu quero somar, subtrair e etc, mas não com valores inteiros, mas sim com strings. Como eu faço a conversão de string para integer?
Ex.:
#!/bin/bash
t1="10"
t2="20"
echo "$t2" # A resposta fica assim: 20
echo $t2+1 # Resposta=20+1
echo $t1+$t2 #Resposta=10+20

Obs.: Era para ser:
21
30



  


2. Use o bc...

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 19/04/2009 - 06:48h

echo "$t2+1" | bc -l
21
$ echo "$t1+$t2 | bc -l
30

Note que também é possível trabalhar com casas decimais:

$ echo "20.251/5.2" | bc -l
3.89442307692307692307

Mais detalhes:
$ man bc


3. Re: Como efetuar operações aritmétricas com strings?

Klaiton Pereira
kalito

(usa Debian)

Enviado em 02/08/2009 - 16:49h

Você pode fazer uso da própria shell pra efetuar as somas:

#!/bin/bash

a=5;b=3

c=$(($a + $b)); echo $c #Resposta c=8

d=$((($a*$b)+$a-$b)); echo $d #Resposta d=17

fazendo assim vc poupa tempo de processamente do script fazendo os cálculos sem ter q chamar um programa de fora (bc).

No seu caso ficaria assim:

#!/bin/bash
t1="10"
t2="20"
echo "$t2" # A resposta fica assim: 20
echo $(($t2+1)) # Resposta=21
echo $(($t1+$t2)) #Resposta=30


4. transformar string em inteiro?

Marcus Queiroz
marcusdraw

(usa Slackware)

Enviado em 09/10/2017 - 09:58h

Tudo bom?

saber informar como transformar string em inteiro?

Ex: O numero 31 é uma string, então como transformar em inteiro no shellscript?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts