2016-08-16 79 views
-6

我正在寻找一种算法,将输入数字分割为数百万。 我尝试了很多方法,但没有成功。如何分割十亿或百万

例子:

如果输入的号码是5100,我的手数是50万美元,然后我想输出为2

如果1.1亿,那么这将是50 + 50 + 10这意味着输出为3.

+3

运气与此无关。 – Mena

+0

已经提到过尝试不同的方式final int numOfLots =(int)Math.ceil(51000000/50000000); – rajuk

+0

如果您没有提及*您尝试过哪些方式,那么说“我尝试了不同的方式”毫无意义。我们不介意读者。 – JJJ

回答

1

Math.ceil(110000000.0/*input number*//50000000 /*lot size*/)等会做到这一点。

请注意,我已将.0添加到其中一个数字中,以击败整数除法

ceil总是舍入到下一个整数。

+0

我认为你使用块注释是让你的代码看起来不必要的混淆。 – khelwood

+0

已尝试final int numOfLots =(int)Math.ceil(51000000/50000000); – rajuk

+0

糟糕。不要忘记将其中一个数字提升到浮点数!我已经修改了这个答案。 –

3

此公式可用于如果输入数字是小到足以不造成溢出:

number_of_chunk = (all_number + chunk_size - 1)/chunk_size 

这种划分是整数除法和结果被截断到零。

0

下面是一些代码,你可以使用:

final int lotSize = 50; 
double input = 110000000; 
int result = (int)((input/1000000.0)/lotSize + 1); 

显然替换为任何你需要的lotSize和输入变量。希望有所帮助。

+0

谢谢@tengmesk,以上解决方案不适用于100万双输入= 100000000; – rajuk