c++ - 如何在 C/C++ 中有效地计算 double 到两位小数?

标签 c++ performance math floating-point

给定两个 double ,我需要计算百分比并将它们表示为小数点后两位。最有效的方法是什么?

例如

x = 10.2476
y = 100

我会在 10.25 返回。

在运行速度方面高效。需要小数点后2位的x/y*100表示​​。

最佳答案

如果您确实需要定点表示并将数字缩放 100,请使用整数表示。因此 x = 10.2476 变为 xi = 1025:

double x = 10.2476;
int xi   = ( x + 0.005 ) * 100;

在许多情况下,不需要浮点表示,即使使用小于 1 的数字也是如此。

关于c++ - 如何在 C/C++ 中有效地计算 double 到两位小数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21925401/

相关文章:

c++ - 用于解析标题列的增强精神语法

javascript - 打字和搜索,如何提高性能?

algorithm - 当等式右侧有多个循环函数调用时,求解循环关系的方法是什么?

java - VB .NET 的计算方式与 Java 不同

c# - 通过 IronPython 在 C# 中评估三角函数

c++ - 什么数据类型的结构具有最大大小且元素是 FIFO?

C++ 将字符串编码为 Unicode - ICU 库

c++ - long double 与 long int

android - 如何绘制具有低位图内存影响的平铺游戏板

python - 使用流水线 hgetall 进行 Redis 慢速查询