在R中从一种货币转换为另一种货币的函数。

鉴于以下情况,从1美元到

  • 欧元
  • 比索
  • 法郎
  • 澳元
  • 新西兰元
  • 加元

我如何写一个函数来将一种货币转换为另一种货币?

这个函数的工作原理应该是这样的 amount 是数字型。fromto 是字符串。

currency(amount = 1, from = 'usd', to = 'euro')
## [1] 8.7

我唯一能想到的就是写很多if语句 但对于所有这些可能的货币转换组合来说,这似乎太过繁琐。

我也在考虑在我的函数中创建一个命名的向量,像这样。c('euro' = 0.93, 'peso' = 24.71, 'franc' = 0.98, ...) 等等来显示从1美元到这些货币的转换率。但还是不知道如何写一个函数来说明所有这些货币的转换(美元、欧元、比索、法郎、奥地利元、新西兰元、加拿大元)。

解决方案:

这里有一个函数,它确实存在轻微的四舍五入错误,但只是需要更大分辨率的数字来减少这个错误–我的数值来自于google搜索的每一种货币的10000美元。如果你想自动更新数值,你也可以看看从网络上搜刮数值的包(rvest?

currencyCon <- function(x, from = "USD", to = "EUR"){
  # assign values: 1 usd in each currency 
  values <- c(1.000000, 0.927985, 0.810100, 107.624500)
  # names attribute 
  names(values) <- c("USD", "EUR", "GBP", "YEN")
  # calculate (convert from into USD, and divide to)
  values[to] / (values[from] / x)
}

# Testing 
currencyCon(1, "USD", "EUR")
currencyCon(1, "EUR", "EUR")
currencyCon(1, "GBP", "YEN")

这将返回

 > currencyCon(1, "USD", "EUR")
 EUR 
 0.927985
 > currencyCon(1, "EUR", "EUR")
 EUR 
 1 
 > currencyCon(1, "GBP", "YEN")
 YEN 
 132.8534

给TA打赏
共{{data.count}}人
人已打赏
未分类

Spring Maven - 无法生成WSDL。

2022-9-8 22:22:41

未分类

在Laravel控制器中删除url中的参数.

2022-9-8 22:22:43

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索