标签: rounding

从时间戳中丢弃毫秒部分

millisecond如果second零件也从timestampw/o中取出,我该如何丢弃/绕过零件timezone

sql postgresql timestamp casting rounding

53
推荐指数
3
解决办法
5万
查看次数

如何在保留总和的同时将浮点数舍入为整数?

假设我有一个浮点数数组,按排序(让我们说升序)排序,其总和已知是一个整数N.我希望将这些数字"舍入"为整数,同时保持其总和不变.换句话说,我正在寻找一种算法,将浮点数数组(称之为 fn)转换为整数数组(称之为in),这样:

  1. 两个数组的长度相同
  2. 整数数组的总和是 N
  3. 每个浮点数fn[i]与其对应的整数之间的差值in[i]小于1(或者如果你真的必须等于1)
  4. 假设浮点数按排序顺序(fn[i] <= fn[i+1]),整数也将按排序顺序(in[i] <= in[i+1])

鉴于满足这四个条件,sum((in[i] - fn[i])^2)最好将舍入方差()最小化的算法,但这并不是什么大问题.

例子:

[0.02, 0.03, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1, 0.11, 0.12, 0.13, 0.14]
    => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
[0.1, 0.3, 0.4, 0.4, 0.8]
    => [0, 0, 0, 1, 1]
[0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
    => [0, 0, 0, …

language-agnostic algorithm rounding

51
推荐指数
4
解决办法
9717
查看次数

Java:舍入到最接近的5的倍数(向上或向下)

我需要将一个数字舍入到最接近的5的倍数(向上或向下).例如,以下是数字列表及其旁边需要向上/向下舍入的数字.

12.5  10
62.1  60
68.3  70
74.5  75
80.7  80
Run Code Online (Sandbox Code Playgroud)

数字只会是积极的.

java rounding

47
推荐指数
5
解决办法
5万
查看次数

使用round()在Swift中舍入

在玩游戏时,我在swift中找到了round()函数.它可以用如下:

round(0.8)
Run Code Online (Sandbox Code Playgroud)

哪个将按预期返回1.这是我的问题:

我怎么快速地绕千分之一?

我希望能够插入一个数字,比如0.6849,然后回到0.685.round()如何做到这一点?或者,它不是,在这种情况下,什么功能呢?

rounding swift xcode6

47
推荐指数
5
解决办法
6万
查看次数

如何在Python 3中使用前导零填充字符串

我正在尝试length = 001在Python 3中制作,但每当我尝试将其打印出来时,它会截断该值而不使用前导零(length = 1).如何length在打印之前不必转换为字符串来阻止这种情况发生?

python math rounding python-3.x

47
推荐指数
4
解决办法
6万
查看次数

在Python中舍入到第二个小数位

如何在python中将数字向上舍入到第二个小数位?例如:

0.022499999999999999

应该最高可达0.03

0.1111111111111000

应该最高可达0.12

如果在小数点后三位有任何值,我希望它总是向上舍入,留下小数点后面的2个值.

python rounding

46
推荐指数
7
解决办法
10万
查看次数

如何在Python中正确地舍入一半浮点数?

我正面临着一个奇怪的round()功能行为:

for i in range(1, 15, 2):
    n = i / 2
    print(n, "=>", round(n))
Run Code Online (Sandbox Code Playgroud)

此代码打印:

0.5 => 0
1.5 => 2
2.5 => 2
3.5 => 4
4.5 => 4
5.5 => 6
6.5 => 6
Run Code Online (Sandbox Code Playgroud)

我希望浮动值总是向上舍入,而是舍入到最接近的偶数.

为什么会出现这种行为,以及获得正确结果的最佳方法是什么?

我尝试使用fractions但结果是一样的.

python floating-point precision rounding python-3.x

46
推荐指数
7
解决办法
3万
查看次数

如何在c#中向上舍入

我想总是在c#中,例如,从6.88到7,从1.02到2等.

我怎样才能做到这一点?

c# rounding

45
推荐指数
3
解决办法
6万
查看次数

将浮点数舍入为java中的下一个整数值

如何将浮点数舍入到Java中的下一个整数值?假设

2.1 - > 3

3.001 - > 4

4.5 - > 5

7.9 - > 8

java floating-point integer rounding

45
推荐指数
4
解决办法
8万
查看次数

如何使用BigDecimal.ROUND_HALF_UP将0.745舍入到0.75?

我试过以下,

   double doubleVal = 1.745;
   double doubleVal1 = 0.745;
   BigDecimal bdTest = new BigDecimal(  doubleVal);
   BigDecimal bdTest1 = new BigDecimal(  doubleVal1 );
   bdTest = bdTest.setScale(2, BigDecimal.ROUND_HALF_UP);
   bdTest1 = bdTest1.setScale(2, BigDecimal.ROUND_HALF_UP);
   System.out.println("bdTest:"+bdTest); //1.75
   System.out.println("bdTest1:"+bdTest1);//0.74    problemmmm ????????????  
Run Code Online (Sandbox Code Playgroud)

但得到了奇怪的结果.为什么?

java rounding bigdecimal

45
推荐指数
3
解决办法
12万
查看次数