Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试设计一个计算销售税的函数。因此,它将消耗销售价格以及小数或小数的税率,并产生最终价格。所以如果我给 20% 和 105%(1.05),我会得到 21。
(定义(销售ab)(* ab))
我把小数部分记下来了,但我怎么让它做小数部分呢?
比如如果我给出 20 和 5/100,我将如何计算 21?我需要它来识别分数......如果这有任何意义。
这是你需要的吗?
(define (sales a b) (if (exact? b) (* a (add1 b)) (* a b)))
它按预期工作:
(sales 20 1.05) => 21 (sales 20 5/100) => 21
您不必“识别”分数:所有算术函数都已经为您完成了。
% racket Welcome to Racket v5.3.1. > (* 20 (+ 1 5/100)) 21