java如何除法一个数字并将其转换为十进制,但不包括余数
我想把9245除以1000,得到9.245,然后把这个数字推到我的文本视图
我的代码给了我9.0,而不是剩下的。希望我能保留剩下的
String playerScore1 = gameInfo.getGame_time() / 1000;
playerscore1.setText(Double.toString(playerScore1));
你可以在下面搜索框中键入要查询的问题!
我想把9245除以1000,得到9.245,然后把这个数字推到我的文本视图
我的代码给了我9.0,而不是剩下的。希望我能保留剩下的
String playerScore1 = gameInfo.getGame_time() / 1000;
playerscore1.setText(Double.toString(playerScore1));
# 1 楼答案
如果
getGame_time()
方法不返回double/float
,则需要显式地将.0
添加到被除数,或将其强制转换为double/float
类型默认情况下,Java执行整数除法,这会截断结果的小数部分。要强制进行浮点除法,还可以使用后缀表示法:
# 2 楼答案
当使用算术运算符时,Java总是会扩展到使用最广泛的类型。这个规则的一个例外是对类型
byte
、char
和short
的算术运算,它们总是转换为int
。这就是为什么由于类型不匹配,将无法编译。但有趣的是
将按预期编译和工作
回到主题:如果你把两个
int
除以,你会得到一个int
。如果你把一个int
和一个float
分开,你会得到一个float
。。。因此,使表达式按您希望的方式运行的最简单方法是将其中一个值设置为float
或double
可以通过在浮点数后面附加
f
或F
来表示浮点文字对于
double
,您可以:double
double
文本d
或D
,使其成为一个double
更加详细将此应用到代码中,一种可能的解决方案是:
# 3 楼答案
使用1000.0,它会将其转换为Double,如果你将其除以1000,它会自动将其转换为整数。并为PlayerCore1使用数据类型Double,因为它将返回Double notString