标签: rounding

舍入标准 - 财务计算

我很好奇在财务数据的计算方面存在任何"舍入"标准.我最初的想法是仅在数据呈现给用户(表示层)时执行舍入.

如果"舍入"数据然后用于进一步计算,应该使用"圆形"数字还是"原始"数字?有人有建议吗?

请注意,我知道不同的舍入方法,即银行家舍入等.

rounding-error bankers-rounding rounding financial

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

在Go中从float32转换为int

我已经尝试了几种方法将float转换为int,我想要的是截断一个float,所以我只得到整数部分.我正在使用

x := float32(3.1)
y,_ := strconv.Atoi((strconv.Ftoa32(x,'f',0))) //y becomes 3
Run Code Online (Sandbox Code Playgroud)

但是如果x是3.9,y将变为4,因为这个函数将围绕float32而不是截断.有没有一种截断而不是舍入的方法?如果是这样,是否可以在不涉及字符串的情况下进行?(比如在C中将float转换为int)

casting rounding go

29
推荐指数
1
解决办法
3万
查看次数

如何将double舍入到最接近的整数然后转换为float?

我正在使用java.util.Random生成随机高斯.我需要将此高斯转换为浮点值.然而高斯是一个双,所以我需要一些方法来圆或然后将其转换为浮点数.我需要四舍五入到最近的整数,四舍五入.这是我的问题:如何?

java rounding

29
推荐指数
2
解决办法
11万
查看次数

在c#中向下舍入到2位小数

如何将两位小数相乘并将结果四舍五入到小数点后两位?

例如,如果方程为41.75 x 0.1,则结果为4.175.如果我在带小数的c#中执行此操作,它将自动舍入到4.18.我想向下舍入到4.17.

我尝试使用Math.Floor,但它只是向下舍入到4.00.这是一个例子:

Math.Floor (41.75 * 0.1);
Run Code Online (Sandbox Code Playgroud)

c# decimal rounding

29
推荐指数
4
解决办法
3万
查看次数

iOS Objective-C如何获得2位小数舍入浮点值?

我有一个

float a = 1412.244019;
Run Code Online (Sandbox Code Playgroud)

我需要一个四舍五入到最接近的第二个小数,如1412.24000000.我明白,如果我想要只用两位小数来表示我使用%.2f,但事实并非如此.出于数学原因,我需要新的a作为浮点数.

我已经尝试了在stackoverflow上找到的几个没有运气的方法.我使用的更明显,我在下面提到,但仍然没有运气使用它.你能明白为什么魔法没有发生吗?

PS:它确实有时会产生预期的效果,而不是总能让我思考......嗯......

提前致谢.

码:

float a = 1412.244019;
NSLog(@"a is %f", a); //output a is 1412.244019
a = [[NSString stringWithFormat:@"%.2f", a] floatValue];
NSLog(@"a is %f", a); //output a is 1412.239990
Run Code Online (Sandbox Code Playgroud)

编辑:

看起来就像我在上述手术后使用浮子一样,它正在考虑它是1412.240000,尽管NSLog说的不同......奇怪.但我得到了我想要的东西,所以感谢浪费时间追逐任何东西:)

编辑我很乐意选择你们所有人作为正确的答案,但由于我只能选择一个,我选择了第一个好的答案,并附加了解释(最后两个).

floating-point decimal objective-c rounding ios

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

但是.5应该是圆的

来自R帮助功能:请注意,为了四舍五入,预计将使用IEC 60559标准,"转到偶数位".因此round(0.5)是0并且round(-1.5)是-2.

> round(0.5)
[1] 0
> round(1.5)
[1] 2
> round(2.5)
[1] 2
> round(3.5)
[1] 4
> round(4.5)
[1] 4
Run Code Online (Sandbox Code Playgroud)

但我需要将以.5结尾的所有值向下舍入.所有其他值应该舍入,因为它们由round()函数完成.例:

round(3.5) = 3
round(8.6) = 9
round(8.1) = 8
round(4.5) = 4
Run Code Online (Sandbox Code Playgroud)

有快速的方法吗?

r rounding

28
推荐指数
5
解决办法
2222
查看次数

Golang Round最近的0.05

我正在寻找一个在Golang中舍入到最接近的0.05的函数.使用该函数的最终结果必须始终为0.05.


以下是我正在寻找的函数的一些输出示例:(函数Round尚不存在,我希望它可以包含在答案中)

Round(0.363636) // 0.35
Round(3.232)    // 3.25
Round(0.4888)   // 0.5
Run Code Online (Sandbox Code Playgroud)

我现在已经搜索了很多年,并没有找到任何答案.

math rounding go

28
推荐指数
1
解决办法
2万
查看次数

Python if-else代码样式,用于减少浮点取整的代码

有没有更短,更清晰的代码样式可以解决此问题?我正在尝试将一些float值分类为区域间文件夹。

def classify(value):   
    if value < -0.85 and value >= -0.95:
        ts_folder = r'\-0.9'
    elif value < -0.75 and value >= -0.85:
        ts_folder = r'\-0.8'
    elif value < -0.65 and value >= -0.75:
        ts_folder = r'\-0.7'    
    elif value < -0.55 and value >= -0.65:
        ts_folder = r'\-0.6'   
    elif value < -0.45 and value >= -0.55:
        ts_folder = r'\-0.5'  
    elif value < -0.35 and value >= -0.45:
        ts_folder = r'\-0.4'
    elif value < -0.25 and value >= -0.35:
        ts_folder = r'\-0.3' …
Run Code Online (Sandbox Code Playgroud)

python floating-point rounding number-formatting python-3.x

28
推荐指数
6
解决办法
4095
查看次数

将浮点数舍入到预定义点的常规网格

我想将浮点数舍入到给定的精度,例如:

0.051 i want to convert it to
0.1

0.049 i want to convert it to
0.0

0.56 i want to convert it to
0.6

0.54 i want to convert it to
0.5
Run Code Online (Sandbox Code Playgroud)

我无法更好地解释它,但其原因是将点位置(如0.131f,0.432f)转换为网格中瓷砖的位置(如0.1f,0.4f).

c++ rounding

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

将整数舍入到最接近的10的倍数

我想弄清楚如何围绕价格 - 两种方式.例如:

Round down
43 becomes 40
143 becomes 140
1433 becomes 1430

Round up
43 becomes 50
143 becomes 150
1433 becomes 1440
Run Code Online (Sandbox Code Playgroud)

我有这样的情况,我有一个价格范围说:

£143 - £193
Run Code Online (Sandbox Code Playgroud)

其中我想表现为:

£140 - £200
Run Code Online (Sandbox Code Playgroud)

因为它看起来更干净

有关如何实现这一目标的任何想法?

c# currency rounding

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