- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
假设我有一个float
。我想将它四舍五入到一定数量的有效数字。
在我的例子中 n=6
。
所以说 float 是 f=1.23456999;
round(f,6)
会得到 1.23457
f=123456.0001
会得到 123456
有人知道这样的套路吗?
它在网站上有效:http://ostermiller.org/calc/significant_figures.html
最佳答案
将数字乘以合适的比例因子,将所有有效数字移至小数点左侧。然后四舍五入最后反转操作:
#include <math.h>
double round_to_digits(double value, int digits)
{
if (value == 0.0) // otherwise it will return 'nan' due to the log10() of zero
return 0.0;
double factor = pow(10.0, digits - ceil(log10(fabs(value))));
return round(value * factor) / factor;
}
但是正如@PascalCuoq 所指出的:四舍五入的值可能不能完全表示为浮点值。
关于c++ - 将 float 舍入为 n 位有效数字的 C 例程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13094224/
已关闭。此问题需要 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
我是一名优秀的程序员,十分优秀!