[AsteriskBrasil] Como fazer o asterisk falar saldo? (Moeda)

Junior Polegato - Asterisk asterisk em juniorpolegato.com.br
Sexta Outubro 3 19:22:07 BRT 2008


Sebastião Rocha escreveu:
> Gostaria de fazer o asterisk falar o valor para o usuário, tenho o 
> texto 5.75 e gostaria de faze-lo falar "cinco reais e setenta e cinco 
> sentavos"
> No exemplo abaixo, está fixo, gostaria de saber se existe uma forma 
> apropriada para falar o valor sem ter que fazer tanta gambiarra, pra 
> pegar os numeros antes de depois da virgula ou até mesmo falar o valor 
> sem ter que separar nada.
> exten => *222,1,set(saldo=5.75)
> exten => *222,2,playback(seu_saldo_eh)
> exten => *222,3,saynumber(5) ? pego aqu somente os numeros antes do ponto
> exten => *222,4,playback(reais)
> exten => *222,5,playback(and)
> exten => *222,6,saynumber(75) ? pego aqui somente os nuemros apos o ponto
> exten => *222,7,playback(centavos)
> Alguma sugestão?

Olá,

       Supondo que o saldo sempre tenha duas casa decimais:

exten => 7788,1,Set(saldo=5.71) ; proveniente com duas casas decimais
exten => 7788,n,Set(inteiro=${saldo:0:$[${Len(saldo)}-3]})
exten => 7788,n,Set(centavos=${saldo:$[${Len(saldo)}-2]})
exten => 7788,n,Playback("saldo_de")
exten => 7788,n,SayNumber(${inteiro})
exten => 7788,n,PlayBack($[${inteiro} = 1 ? real :: reais])
exten => 7788,n,GotoIf($[${centavos} = 0]?fim)
exten => 7788,n,Playback(e)
exten => 7788,n,SayNumber(${centavos})
exten => 7788,n,Playback($[${centavos} = 1 ? centavo :: centavos])
exten => 7788,n(fim),PlayBack(Obrigado)
exten => 7788,n,Hangup


[]'s
          Junior Polegato



Mais detalhes sobre a lista de discussão AsteriskBrasil