- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要将一个浮点变量四舍五入到 2 位有效数字并将结果存储到一个新变量中(或者与之前相同,这无关紧要)但这是发生了什么:
>>> a
981.32000000000005
>>> b= round(a,2)
>>> b
981.32000000000005
我需要这个结果,但是要放入一个不能是字符串的变量中,因为我需要将它作为 float 插入...
>>> print b
981.32
实际上截断也可以,在这种情况下我不需要非常精确。
最佳答案
你想做的事实际上是不可能的。这是因为 981.32
不能完全表示为二进制浮点值。 closest double precision binary floating point value是:
981.3200000000000500222085975110530853271484375
我怀疑这可能会让您感到震惊。如果是这样,那么我建议您阅读 What Every Computer Scientist Should Know About Floating-Point Arithmetic .
您可以选择通过以下方式之一解决您的问题:
decimal
。关于Python - 将 float 舍入为 2 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24634664/
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我想知道如何将 UISilder 值舍入为 int 值。现在它正在显示花车。我目前正在使用 swift 3。 @IBOutlet var slidermove: UISlider!
我目前正在尝试编写一个程序,将“double”变量四舍五入到小数点后两位。 我有方法: DecimalFormat df = new DecimalFormat("#.00"); 但是,当我应用该方法
自学coding(这里是菜鸟),一道练习题答案如下: amount = (int) round (c); c 是一个 float 。可以肯定地说这一行通过舍入将 float 转换为整数吗?我尝试研究将
这个问题在这里已经有了答案: round() for float in C++ (23 个回答) 关闭2年前。 我有一个 double(称为 x),本来是 55,但实际上存储为 54.99999999
这是我目前拥有的: function getNearestMultipleOf(n, m) { return Math.round(n/m) * m; } console.log(getNea
我正在尝试模仿 Google 日历和 Outlook 处理时间选择的方式,其中所有时间条目相隔 30 分钟。除了一件事之外,我几乎所有的事情都与功能测试有关。我的问题是,我不知道如何确保始终将当前日期
这个问题已经有答案了: How to convert a double to long without casting? (9 个回答) 已关闭 9 年前。 java中有没有一种方法可以将double
我正在做一个学校项目,我必须将一个 float 写入一个文本文件。问题是我只想将最多 2 位小数的 float 写入文件。我在互联网上搜索了很多,但只找到了流的“setprecision”函数。 我不
我在 Highcharts 中创建了一个折线图,我希望最大值为 19。所以我找到了最大选项 yAxis: { max: 19; } 但 Highcharts 将最大值四舍五入为 20,我真的不想
我需要将一个浮点变量四舍五入到 2 位有效数字并将结果存储到一个新变量中(或者与之前相同,这无关紧要)但这是发生了什么: >>> a 981.32000000000005 >>> b= r
我想在 Python 中将指数 float 四舍五入为两位小数。 4.311237638482733e-91 --> 4.31e-91 你知道什么快速技巧吗? round(float, 2) 和 "%
我正在修改 Android 中的 BigDecimal 和货币格式,想知道是否可以使用 BigDecimal 执行以下操作: 我想要的: 64.99 --> 65.00 (Rounded Up)
这个问题在这里已经有了答案: How to round a number to n decimal places in Java (39 个回答) 关闭 8 个月前。 有人知道我如何将 double
有没有办法将python浮点数四舍五入到x个小数?例如: >>> x = roundfloat(66.66666666666, 4) 66.6667 >>> x = roundfloat(1.2957
我正在尝试将 BigDecimal 值向上舍入到小数点后两位。 我正在使用 BigDecimal rounded = value.round(new MathContext(2, RoundingMo
在阅读 Lua 的源代码时,我注意到 Lua 使用宏将 double 值四舍五入为 32 位 int 值。该宏在Llimits.h header file中定义,内容如下: union i_cast
我正在测试一个为产品提供 10% 折扣的系统,这意味着 102.555 折扣,但系统只使用 2 个小数位,因此它给出了 102.55强>. 问题是如果我执行这个: Math.Round(102.555
float = 11.0000123456789 我想将上面的 float 四舍五入为 11.00001235。因此,我希望 float 的基数部分四舍五入为 4 位数字,同时忽略并保留前导零并在末尾
如果有符号/无符号整数隐式转换为 float / double ,C++ 如何舍入? 喜欢: int myInt = SomeNumberWeCantExpressWithAFloat; float
我是一名优秀的程序员,十分优秀!