设计一个函数,对传递给他的double型数值进行四舍五入后作为int型值返回。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计一个函数,对传递给他的double型数值进行四舍五入后作为int型值返回。相关的知识,希望对你有一定的参考价值。

用Visual Studio 2005编写,要项目文件,发邮箱2393030298@qq.com

参考技术A int DoubleToInt(double input)

int output = Math.Truncate(input);//取得参数的整数部分
if (Math.Abs(input - output) >= 0.5)//当参数的小数部分大于等于0.5时进位
output += Math.Sign(input);//正数加一,负数减一
return output;//返回四舍五入后的结果

Math.Truncate(double):取得double值的整数部分
Math.Sign(double):取得double的符号
Math.Abs(double):取得double的绝对值
参考技术B 不知道你用的是什么语言,c示例如下
int GetInt(double d)

bool isNeg;
if (d< 0 )
isNeg = true;
d = -d;
d+= 0.5;
int result = (int)d;
if (isNeg)
result = -result;
return result;
追问

c#

追答

C# 的如下:
public int GetInt(double d)

bool isNeg = false;
if (d < 0)

isNeg = true;
d = -d;

d += 0.5;
int result = (int)d;
if (isNeg)
result = -result;
return result;

本回答被提问者采纳

以上是关于设计一个函数,对传递给他的double型数值进行四舍五入后作为int型值返回。的主要内容,如果未能解决你的问题,请参考以下文章

C++中double型数据怎么取整数部分,就是小数后面全变成0。

Reunderstand设计模式-责任链模式(Chain of Responsibility Pattern)

请教:JAVA中,comparator接口如何对double型数据进行排序。

java中两个Double型数据可以用(>,<,==,>=,<=)进行比较吗? 请详细说明

请问double型可以强制转换成int型吗?

MySQL数值型函数