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上,地址请点击阅读原文
