让我说我有:
double x = 2.546;
我需要一个等于5的int
,我该怎么做呢?
答案 0 :(得分:9)
您需要乘以10,然后转换为int
,然后应用%10
操作
答案 1 :(得分:2)
从double中删除尾随小数的一种简单方法是将其强制转换为int。通过一些巧妙的演员,我们可以做到这一点:
double x = 2.546;
x-= (int)x;
x *= 10;
int y = (int) x;
我们从x中删除1的位置(2),从x为2.546减去(int)x,即2。然后我们将x乘以10得到5.46。然后通过将x转换为int,我们得到5.这将适用于许多其他语言。
答案 2 :(得分:2)
你能这样做吗?
int intVar = parseInt(x.toString().substring(indexOf('.')+1,1));
我实际上没有尝试过,所以你可能需要调整。但这就是想法。
基本思路是,转换为字符串,找到小数点,得到它后面的下一个字符,并将其转换为int。
您可能需要将其充实以处理异常。比如,如果没有小数点怎么办?