我正在尝试设计一个计算销售税的功能。所以它会消耗销售价格以及税率百分比,小数或分数,它会产生最终价格。所以如果我给出20%和105%(1.05),我会得到21。
(定义(销售a b) (* a b))
我得到了小数部分,但我怎么能得到它来做分数部分?
如果我给20和5/100,我将如何制作计算机21?我需要它来识别分数......如果这有意义的话。
答案 0 :(得分:2)
这是你需要的吗?
(define (sales a b)
(if (exact? b)
(* a (add1 b))
(* a b)))
按预期工作:
(sales 20 1.05)
=> 21
(sales 20 5/100)
=> 21
答案 1 :(得分:1)
您不必“识别”分数:所有算术函数都已经为您完成了。
% racket
Welcome to Racket v5.3.1.
> (* 20 (+ 1 5/100))
21