我是否可以仅使用c ++中小数点后的2个数字进行计算?

时间:2017-03-14 18:30:29

标签: c++11 floating-point decimal-point

示例:

我的变量 A 的值 5.123

A * 2 = 10.246

我想只用小数点后的2个数字计算(。12),就像那样:

A * 2 = 10.24

有没有解决方案?

2 个答案:

答案 0 :(得分:0)

我不确定您需要多少花哨的数字,但以下策略应该有效。

double A = 5.123;
int A1 = A*100;   // A1 is 512
int A2 = A1*2;    // A2 is 1024
A = 0.01*A2;      // A is 10.24

答案 1 :(得分:0)

一个选项可能是截断它:

value = (double) ((int)(value * 100))/100;

以下是一个示例:

double valueOne = 2.34256;
cout<<valueOne<<endl;
double valueTwo = (double)((int)(valueOne*100))/100;
cout<<valueTwo<<endl;

输出:

2.34256
2.34