P小二 P小二
← 返回文章 Rust 约 4 分钟

Rust每日一题之11-货币兑换

Rust每日一题之11-货币兑换

11.货币兑换

编写一个货币兑换程序。具体来说,是将欧元兑换成美元。

提示输入手动的欧元数,以及欧元的当前汇率。打印可以兑换的美元数。

货币兑换的公式为:

               

货币兑换的公式为

其中

  • amountto 是美元

  • amountfrom 是欧元数

  • ratefrom 是欧元的当前汇率

  • rateto 是美元的当前汇率

示例输出

How mang euros are you exchanging? 81

What is the exchange rate? 137.51

81 euros at an exchange rate of 137.51 is

111.38 U.S. dollars.

约束

  • 注意小数部分,不足1美分的向上取整。

  • 使用单条输出语句。

**

**

挑战

  • 构建一个汇率字典,提示用户输入国家而不是汇率。

  • 将应用连接到一个提供当前汇率的外部API。

最近的这几题都是关于计算的题目,今天来看一下第11题。

这里需要注意的是,小数需要保留2位,而且向上取整。

这里用到的向上取整,在第9题中已经出现过,但是在这里多了一个需要保留两位小数。

文档地址为: https://doc.rust-lang.org/std/primitive.f32.html#method.ceil 

计算的代码

计算的代码

关键的点,汇率一般都是比一百,所以需要除以100。 保留两位小数需要乘以100,向上取整后除以100,所以先使用ceil保留后除以100,省去一些中间步骤达到目的。

题目所说向上取整,但是例子中的结果并没有向上取整,而是舍去了。这一点可能理解有问题,需要注意。

效果:

题目所说向上取整,但是例子中的结果并没有向上取整,而是舍去了。这一点可能理解有问

Rust每日一题的文章和代码都输出到Github上,地址请点击阅读原文 

Rust每日一题的文章和代码都输出到Github上,地址请点击阅读原文