尝试在Swift中向自己添加一定百分比的变量

时间:2018-11-21 14:38:11

标签: swift

我有一个变量Intloan)。我想在每次单击按钮时添加10%。

首先,我尝试了各种方法:

loan = 50
loan = loan + loan / 100 * 10

当我打印loan时,它仍然显示50,而未添加10%。

接下来,我尝试声明一个新的Int变量(percent)来计算百分比:

loan = 50
var percent = loan / 100 * 10
loan = loan + percent

同样,loan打印50,percent打印0。

在每种情况下,我都尝试过将数学放在方括号中,但是得出的结果相同。我敢肯定,这肯定是一个非常简单的修复程序,但我无法解决,也没有运气良好的搜索条件。

3 个答案:

答案 0 :(得分:3)

您的问题是Please add CSS: 被声明为loanInt不能包含小数部分,因此当您尝试将50除以100时,答案0.5将去除其小数部分,使之为0。乘以10所得的值仍然为零,因此当您添加时改为Int,不会改变结果。

您可以通过将loan声明为loan而不是Double来解决此问题。您也可以乘以1.1以增加10%。

Int

答案 1 :(得分:0)

首先,贷款应加倍(因为int不能有分数)

然后您可以执行以下操作:

loan = 50
loan *= 1.1

答案 2 :(得分:0)

  

我想在每次单击按钮时向其中添加10%。

您可以添加原始值的10%或十分之一,或者乘以1.1:

var loan = 50.0       // including the decimal point makes it a float

...其中任何一个都可以工作:

loan = loan + loan * 0.1
loan = loan * 1.1
loan += loan * 0.1
loan *= 1.1
  

同样,“贷款”打印50,“百分比”打印0。

这是因为loan被声明为整数类型,并且计算中的其他值也是整数,因此编译器推断percent也应该是整数。您可以通过将loanpercent的类型显式设置为FloatDouble来解决此问题,如下所示:

var percent : Float = loan / 10

或者,就像我在顶部所做的那样,可以通过将loan设置为50.0而不是50来隐式地进行操作。编译器将了解50.0Float,因此可以推断出loanFloat,这将导致用loan完成的计算就是这种类型,而percent也将是Float