Tag: 舍入

JavaScript:舍入到小数位数,但是去掉额外的零

这里的情况是:我得到.9999999999999999当我应该得到1.0 。 我可以承受失去精度的小数位,所以我使用.toFixed(15) ,这是一种工作。 四舍五入的工作,但问题是,我给了1.000000000000000 。 有没有一种方法来四舍五入到小数位数,但剥去额外的空格? 注意:。 .toPrecision度不是我想要的; 我只想指定小数点后的数字。 注2:我不能只使用.toPrecision(1)因为我需要保持高精度的数字实际上有小数点后的数据。 理想情况下,将有必要的小数位数(最多15个)。

toFixed()和toPrecision()之间的区别?

我是JavaScript新手,刚刚发现toFixed()和toPrecision()来整数。 但是,我无法弄清楚两者之间的区别。 number.toFixed()和number.toPrecision()之间有什么区别?

Android – 圆到小数点后2位

可能重复: 将小数点后两位有效数字取整为2位 我知道有很多关于如何将这种数字舍去的例子。 但有人可以告诉我如何使双倍,以获得我可以显示为一个string的价值,总是有2个小数位?

在java中将double转换为整数

在Java中,我想将一个double转换为一个整数,我知道如果你这样做: double x = 1.5; int y = (int)x; 你得到y = 1。 如果你这样做: int y = (int)Math.round(x); 你可能会得到2.但是,我想知道:因为整数的双重表示有时看起来像1.9999999998什么的,是否有可能通过Math.round()创build一个double仍然会导致一个截断的数字,而不是比我们正在寻找的四舍五入的数字(即:代码中的1代替2代表)? (是的,我的意思是这样的:是否有任何价值的X,其中Y将显示一个结果是一个截断,而不是一个舍入表示的X?) 如果是这样的话:有没有更好的方法来使一个四舍五入的整数没有运行截断的风险? 想了一些东西:Math.round(x)返回一个long,而不是double。 因此:Math.round()不可能返回一个看起来像3.9999998的数字。 因此,int(Math.round())将永远不需要截断任何东西,并将始终工作。

如何快速将一个Double舍入到最近的Int?

我试图做一个增长率计算器( Double ),将结果四舍五入到最近的整数,并从那里重新计算,如此: let firstUsers = 10.0 let growth = 0.1 var users = firstUsers var week = 0 while users < 14 { println("week \(week) has \(users) users") users += users * growth week += 1 } 但迄今为止我还没有办法 编辑我有点这样做: var firstUsers = 10.0 let growth = 0.1 var users:Int = Int(firstUsers) var week = […]

0.1浮点数大于0.1的两倍。 我预料它是错误的

让: double d = 0.1; float f = 0.1; 应该expression (f > d) 返回true或false ? 经验上,答案是true 。 但是,我认为这是false 。 由于0.1不能完全以二进制表示,而double有15至16位的精度,浮点数只有7 。 所以他们都小于0.1 ,而双倍更接近0.1 。 我需要一个确切的解释。

如何使四舍五入的百分比加起来达到100%

考虑下面的四个百分比,用float表示: 13.626332% 47.989636% 9.596008% 28.788024% ———– 100.000000% 我需要把这些百分比表示为整数。 如果我简单地使用Math.round() ,结果总共有101%。 14 + 48 + 10 + 29 = 101 如果我使用parseInt() ,结果总共有97%。 13 + 47 + 9 + 28 = 97 什么是一个很好的algorithm来表示任何百分比的整数,同时仍然保持100%? 编辑 :阅读了一些评论和答案后,显然有很多方法可以解决这个问题。 在我看来,为了保持数字的真实性,“正确的”结果是最小化整体误差的结果,即由相对于实际值的误差舍入的多less来定义: value rounded error decision —————————————————- 13.626332 14 2.7% round up (14) 47.989636 48 0.0% round up (48) 9.596008 10 4.0% don't […]

用JavaScript获取数字的小数部分

我有浮动数字像3.2和1.6 。 我需要将数字分成整数和小数部分。 例如, 3.2的值将被分成两个数字,即3和0.2 获取整数部分很简单: n = Math.floor(n); 但是我很难得到小数部分。 我试过这个: remainer = n % 2; //obtem a parte decimal do rating 但它并不总是正常工作。 以前的代码有以下输出: n = 3.1 => remainer = 1.1 我在这里错过了什么?

在C#中的双精度小数点后两位?

我想在C#中保留两位小数的double值,我该怎么做? double inputValue = 48.485; 结束后 inputValue = 48.49; 相关: C# – 如何四舍五入小数点后两位小数(输出在页面上)

你如何在Perl中使用浮点数?

我如何将十进制数(浮点数)四舍五入到最接近的整数? 例如 1.2 = 1 1.7 = 2