Python 3.x 人民币兑美元货币发行
我正在做一个从人民币到美元的转账网络应用程序。因此,我试图根据每日汇率将人民币兑换成美元。收到的金额应为客户提交的金额除以每日费率。令人惊讶的是,当我检查我的数据库时,它正在记录人民币金额乘以汇率。当我在后端打印收到的金额时,它给出了正确的金额,但在数据库中,它记录了一个金额。请帮忙Python 3.x 人民币兑美元货币发行,python-3.x,django-models,Python 3.x,Django Models,我正在做一个从人民币到美元的转账网络应用程序。因此,我试图根据每日汇率将人民币兑换成美元。收到的金额应为客户提交的金额除以每日费率。令人惊讶的是,当我检查我的数据库时,它正在记录人民币金额乘以汇率。当我在后端打印收到的金额时,它给出了正确的金额,但在数据库中,它记录了一个金额。请帮忙 def save(self, frais=Decimal('0.0'), *args, **kwargs): self.rate=currencies.get_rate('USD','CNY')
def save(self, frais=Decimal('0.0'), *args, **kwargs):
self.rate=currencies.get_rate('USD','CNY')
currency_list=Currency.objects.all()
# amount = Decimal('0.0')
amount=currencies.convert('USD','CNY', Decimal(self.montant))
# Transfer de la RDC ver la
# print('Currency used:', self.devise)
# Si le montant est inférieur à 50$
mtn_inferieur=7
for currency in currency_list:
# Conversion from CNY To USD
if self.montant < 7000 and currency.code=='CNY':
if self.choix_du_paiement_des_frais=='Oui':
self.frais = self.montant*Decimal(0.07)
self.montant=self.montant-self.frais
self.received_amount = Decimal(self.montant)/Decimal(self.rate)
print('Taxe rate 1', currency.code)
# self.choix_du_paiement_des_frais=='Non' and self.montant < 7000 and currency.code=='CNY':
else:
self.frais = self.montant*Decimal(0.07)
self.received_amount=self.montant/Decimal(self.rate)
self.montant=self.montant
print('Taxe rate 2', self.devise)
elif self.montant >= 7000 and currency.code=='CNY':
if self.choix_du_paiement_des_frais=='Oui':
self.frais = self.montant * Decimal(0.06)
self.received_amount = (self.montant - self.montant*Decimal(0.06))/Decimal(self.rate)
self.montant=self.montant-self.montant*Decimal(0.06)
print('Taxe rate 3', self.devise)
else:
# self.choix_du_paiement_des_frais=='Non' and self.montant >= 7000 and self.devise=='CNY':
self.frais = self.montant * Decimal(0.06)
self.received_amount=Decimal(self.montant)/(Decimal(self.rate))
print(self.rate)
print(self.received_amount)
self.montant=self.montant
print('Taxe rate 4', self.devise)
super(EnvoieArgent, self).save(*args, **kwargs)
def保存(self,frais=Decimal('0.0'),*args,**kwargs):
self.rate=货币。获取汇率('USD','CNY')
currency\u list=currency.objects.all()
#金额=十进制('0.0')
金额=货币。换算('USD'、'CNY',十进制(self.montant))
#从RDC到la的转移
#打印('使用的货币:',自行设计)
#这是一个50岁的孩子$
mtn_inferieur=7
对于货币列表中的货币:
#人民币兑美元
如果self.montant<7000且货币代码=='CNY':
如果self.choix_du_paiement_des_frais=='Oui':
self.frais=self.montant*十进制(0.07)
self.montant=self.montant-self.frais
自收金额=小数(自付金额)/小数(自付费率)
打印('税率1',货币代码)
#self.choix_du_painement_des_frais='Non'和self.montant<7000和currency.code='CNY':
其他:
self.frais=self.montant*十进制(0.07)
自收金额=自付金额/十进制(自付费率)
self.montant=self.montant
打印(“税率2”,自行设计)
elif self.montant>=7000和币种。代码=='CNY':
如果self.choix_du_paiement_des_frais=='Oui':
self.frais=self.montant*十进制(0.06)
自付金额=(自付金额-自付金额*小数(0.06))/小数(自付利率)
self.montant=self.montant-self.montant*Decimal(0.06)
打印(“税率3”,自行设计)
其他:
#self.choix_du_painement_des_frais='Non'和self.montant>=7000和self.designe='CNY':
self.frais=self.montant*十进制(0.06)
自收金额=十进制(自付金额)/(十进制(自付金额))
打印(自费率)
打印(自收到金额)
self.montant=self.montant
打印(“税率4”,自行设计)
超级(环境剂,自我)。保存(*args,**kwargs)
当我将美元到人民币的转换代码与上述转换代码组合时,问题就出现了。当删除下面的代码或注释时,我的程序的结果是正确的。我不知道为什么在同一代码中合并两个转换时结果不正确
# From USD to CNY
elif self.montant <= 50 and currency.code=='USD':
if self.choix_du_paiement_des_frais=='Oui':
self.frais = 7
self.received_amount = (self.montant-7)*Decimal(self.rate)
self.montant=Decimal(self.montant-7)
self.montant=self.montant
print(self.rate)
print(self.received_amount)
print(self.montant)
print('Taxe rate 5', self.devise)
elif self.choix_du_paiement_des_frais=='Non':
# self.choix_du_paiement_des_frais=='Non' and self.montant <= 50 and currency.code=='USD':
self.frais = 7
self.received_amount = self.montant*Decimal(self.rate)
self.montant=self.montant
print(self.rate)
print(self.received_amount)
self.montant=self.montant
print('Taxe rate 6', self.devise)
# Fin pour des conditions du montant de 50$
elif self.montant < 1000 and currency.code=='USD':
if self.choix_du_paiement_des_frais=='Oui':
self.frais = self.montant*Decimal(0.07)
self.received_amount = (self.montant - self.montant*Decimal(0.07))*Decimal(self.rate)
self.montant=self.montant-self.montant*Decimal(0.07)
print('Rate: ', self.rate)
print('Montant reçu: ',self.received_amount)
print('Montant envoyé: ', self.montant)
print('Taxe rate 7', self.devise)
else:
# self.choix_du_paiement_des_frais=='Non' and self.montant < 1000 and currency.code=='USD':
self.frais = self.montant*Decimal(0.07)
self.received_amount=self.montant*Decimal(self.rate)
self.montant=self.montant
print('Rate: ', self.rate)
print('Montant reçu: ',self.received_amount)
print('Montant envoyé: ', self.montant)
print('Taxe rate 8', self.devise)
elif self.montant >= 1000 and currency.code=='USD':
if self.choix_du_paiement_des_frais=='Oui':
self.frais = self.montant * Decimal(0.06)
self.received_amount = (self.montant - self.frais)*Decimal(self.rate)
self.montant=self.montant-self.frais
# print('US Dollar Currency khjkhjkkj:', currency.code)
else:
# currency.code=='USD' and self.choix_du_paiement_des_frais=='Non' and self.montant >= 1000 :
self.frais = self.montant * Decimal(0.06)
self.received_amount=self.montant*Decimal(self.rate)
self.montant=self.montant
#从美元到人民币
elif self.montant=1000:
self.frais=self.montant*十进制(0.06)
自收金额=自付金额*十进制(自付费率)
self.montant=self.montant