由买买提看人间百态

topics

全部话题 - 话题: intpart
(共0页)
g****r
发帖数: 74
1
来自主题: JobHunting版 - Bloomberg 电面+onsite 。。已挂
试试第三题
public static double revDouble(double d) {
int intPart = (int) d;
double remain = d - intPart;
int digitRight = 0;
int digitLeft = 0;
int left = 0;
while (intPart > 0) {
int tmp = intPart % 10;
left = left * 10 + tmp;
intPart = intPart / 10;
}
double epsilon = 0.0000000001;
while ((remain - (int) remain) > epsilon) {
remain *= 10;
digitRight++;
}
int right = 0;
int r = (int) remain;
while (r > 0) {
int ... 阅读全帖
y*****e
发帖数: 712
2
我以前在板上看到了,记了个思路,但是忘记帖子的地址了,
题目就是reverse一个double还是float number(记不太清了)
比如123.456, 转成 321.654
思路是先把123转成321,然后把0.456扩大成只有整数(也就是456),记录下来小数点
移了几位,然后反转整数456,得到654, 再把小数点移回去成0.654, 和前面得到的
321相加。
我今天按这个思路写了写,发现小数点右移的过程有点问题,因为我不太清楚java到底
怎么存小数的,给的stop condition不对啊,永远meet不了
大家能帮我看看这行怎么不对吗?
while((decimalPart - (int)decimalPart) > precision)
谢谢!!!
public static double reverse(double number){
int intPart = (int)number;
double decimalPart = number - intPart;
int revInt = reverse(intP... 阅读全帖
(共0页)