Jump to content

Recommended Posts

Posted

Boa noite pessoal,

Aqui vai um problema com que me deparei e ainda não consegui resolver. Se poderem dar uma ajuda ...

Estou de volta de um trabalho para um site em que tenho de apresentar vários cambios de moeda. Para isso vou utilizar um feed pago mas com muita precisão. Acontece que esse feed apenas me dá como base o Euro e eu vou precisar também de converter com base em dólares.

Vou colocar aqui a informação que preciso fazer output:

1 EURO - 1,31214 USD

1 EURO - 124,271 AOA

1 AOA - 0,00804691 EURO

1 AOA - 0,0104775 USD

1 USD - 0,767871 EUROS

1 USD - 95,4423 AOA

E a informação que recebo :

1 EURO - 1,31214 USD

1 EURO - 124,271 AOA

1 USD - 0,767871 EURO

1 AOA - 0,00804691 EURO

Alguém sabe como hei-de chegar aos seguintes valores:

1 USD - X AOA

1 AOA - X USD

?

Obrigado

Posted (edited)
// tomando o EUR como 'X'
// o USD como 'Y'
// o AOA como 'Z'
// 'a' como taxa_eur_usd
// 'b' como taxa_eur_aoa

1*X = a*Y /e/ 1*X = b*Z     =>     a*Y = b*Z     =>     Y = (b*Z)/a

1USD = (taxa_eur_aoa * 1AOA) / taxa_eur_usd
1USD = (taxa_eur_aoa / taxa_eur_usd) * 1AOA
Edited by HappyHippyHippo
IRC : sim, é algo que ainda existe >> #p@p
Posted (edited)

@pluis3103, se tens a taxa Euro->Dólar e Euro->AOA, como chegas ao Dólar->AOA?

Convertes primeiro Dólar->Euro, e depois convertes o resultado segundo o câmbio Euro->AOA.

Em lógica terás algo assim:

Dólar -> Euro
Euro  -> AOA
_____________
Dólar -> AOA

O mesmo se aplica aos outros câmbios.

Edited by thoga31

Knowledge is free!

Posted

Diria que precisas de criar um grafo e implementar um algoritmo de pesquisa de grafos.

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Posted (edited)

Acho que é um problema mais complicado do que pode parecer, porque eu não sei se tu PODES converter os valores dado que podem não ser transitivos (por exemplo, existe uma comissão). Além disso, é possível que exista mais do que uma forma para converter duas moedas, e estas podem não ser equivalentes!

Imagina:

Tens a taxa EUR -> Dolar, EUR-> AUS, Dolar -> GBP e AUS -> GBP.

Queres converter EUR -> GBP. Então tanto podes converter EUR -> Dolar -> GBP como EUR -> AUS -> GBP, mas não tens qualquer garantia que o resultado seja o mesmo! O que fazes nesse caso? Procuras o mínimo, máximo, média, ignoras?

Se estás a usar uma aplicação paga para te fornecer os câmbios, então algo me diz que necessitas MESMO de precisão, logo dificilmente te podes aventurar nisto.

Edited by Warrior
Posted

Acho que é um problema mais complicado do que pode parecer, porque eu não sei se tu PODES converter os valores dado que podem não ser transitivos (por exemplo, existe uma comissão). Além disso, é possível que exista mais do que uma forma para converter duas moedas, e estas podem não ser equivalentes!

Imagina:

Tens a taxa EUR -> Dolar, EUR-> AUS, Dolar -> GBP e AUS -> GBP.

Queres converter EUR -> GBP. Então tanto podes converter EUR -> Dolar -> GBP como EUR -> AUS -> GBP, mas não tens qualquer garantia que o resultado seja o mesmo! O que fazes nesse caso? Procuras o mínimo, máximo, média, ignoras?

Se estás a usar uma aplicação paga para te fornecer os câmbios, então algo me diz que necessitas MESMO de precisão, logo dificilmente te podes aventurar nisto.

Boas pessoal,

Sim, realmente dá uma ligeira diferença em relação ao que deveria dar. Deve haver aqui um factor variável pelo meio. Como é uma diferença de milésimas vou consultar o cliente e verificar se poderá ser apresentado assim.

Muito obrigado a todos pela vossa ajuda.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.