c++、vc++ 数据精度、小数点取舍、数据四舍五入、保留2位小数
2012-08-28 16:04
411 查看
// 数据精度计算
// 第一个参数为:代处理的数;
// 第二参数个为:要保留小数点后几位
double DataPrecision(const double d_data, int nseveral);
double C***::DataPrecision(const double d_data, int nseveral)
{
long int redata, data_temp;
if (1 == nseveral)
{
data_temp = d_data * 100; // 增加100倍,才能对小数点后面第一位进行取舍(0.83)变成(83)
// 计算是否需要进位
if ((data_temp%10) > 4 && (data_temp%10) < 10) // 83%10 = 3
{
redata = data_temp/10 + 1; // 对8+1
}else
{
redata = data_temp/10; // 8保存不变
}
return (redata/10.0);
}
else if (2 == nseveral)
{
data_temp = d_data * 1000;
// 计算是否需要进位
if ((data_temp%10) > 4 && (data_temp%10) < 10)
{
redata = data_temp/10 + 1;
}else
{
redata = data_temp/10;
}
return (redata/100.0);
}
else if (3 == nseveral)
{
data_temp = d_data * 10000;
// 计算是否需要进位
if ((data_temp%10) > 4 && (data_temp%10) < 10)
{
redata = data_temp/10 + 1;
}else
{
redata = data_temp/10;
}
return (redata/1000.0);
}
else if (4 == nseveral)
{
data_temp = d_data * 100000;
// 计算是否需要进位
if ((data_temp%10) > 4 && (data_temp%10) < 10)
{
redata = data_temp/10 + 1;
}else
{
redata = data_temp/10;
}
return (redata/10000.0);
}
else if (5 == nseveral)
{
data_temp = d_data * 1000000;
// 计算是否需要进位
if ((data_temp%10) > 4 && (data_temp%10) < 10)
{
redata = data_temp/10 + 1;
}else
{
redata = data_temp/10;
}
return (redata/100000.0);
}
return d_data;
}
相关文章推荐
- c++、vc++ 数据精度、小数点取舍、数据四舍五入、保留2位小数、数据之间加入","
- delphi 四舍五入保留一位或两位小数,1位小数2位小数四舍五入写法,后面参数为保留小数点位数
- 把一个double的数据四舍五入并保留小数点后2位
- 数列的定义如下: 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和.多组数据,要求精度保留2位小数
- 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和,对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数
- Android利用TrafficStats类实现监测手机网速功能,以及double数据小数点后保留2位
- js 四舍五入并保留2位小数
- double 四舍五入保留2位小数
- C++小技巧之四舍五入与保留小数
- UITextField只能输入数字以及输入数字和小数点并且小数点后保留2位小数
- js 中处理金额数据 四舍五入数据(,处理和保留小数处理)
- SQL数值四舍五入小数点后保留2位
- js 四舍五入并保留2位小数
- SQL数值四舍五入小数点后保留2位
- 对double数据类型的数据保留两位小数,并且进行四舍五入
- java 四舍五入使java保留2位小数示例讲解
- C#中小数点后保留两位小数,四舍五入的函数及使用方法
- js 四舍五入并保留2位小数
- 使Decimal类型数据保留N位小数且不进行四舍五入操作(C#)
- JavaScript计算两个文本框内数据的乘积(四舍五入保留两位小数)