我有一个变量Int
(loan
)。我想在每次单击按钮时添加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。
在每种情况下,我都尝试过将数学放在方括号中,但是得出的结果相同。我敢肯定,这肯定是一个非常简单的修复程序,但我无法解决,也没有运气良好的搜索条件。
答案 0 :(得分:3)
您的问题是Please add CSS:
被声明为loan
。 Int
不能包含小数部分,因此当您尝试将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
也应该是整数。您可以通过将loan
或percent
的类型显式设置为Float
或Double
来解决此问题,如下所示:
var percent : Float = loan / 10
或者,就像我在顶部所做的那样,可以通过将loan
设置为50.0
而不是50
来隐式地进行操作。编译器将了解50.0
是Float
,因此可以推断出loan
是Float
,这将导致用loan
完成的计算就是这种类型,而percent
也将是Float
。