四舍五入_math 四舍五入 1/2 四舍五入为0 - CSDN
  • 四舍五入是c语言编程经常使用的函数。这里记录用整数输入进行四舍五入的判断方法。 1、使用条件表达式 实际上只需要观察四舍五入之后的余数,如果余数大于0.5,则进1,反之保留整数。这里可以用条件表达式。 假设...

    四舍五入是c语言编程经常使用的函数。这里记录用整数输入进行四舍五入的判断方法。

    1、使用条件表达式

    实际上只需要观察四舍五入之后的余数,如果余数大于0.5,则进1,反之保留整数。这里可以用条件表达式。

    假设输入的int整数a,int整数b是a四舍五入之后的整数。相应程序如下:

    int b=(a-2*(a/2))>=1?a/2+1:a/2;	//四舍五入

    上面方法易于理解,使用条件表达式使得代码精简。

    2、利用浮点数的特点

    还可以利用浮点数取整的特点,及如果浮点数的小数部分是[0,0.5),取整后只保留整数,如果将其加上0.5,取整后仍然还是保留的整数;如果小数部分是[0.5,0.99……],取整后仍是整数,但是加上0.5之后,再取整则达到的整数将比原来的大1。

    因此可以采用下面的方法

    double b;
    b=int(b+0.5);

    例如:

    #include <iostream>
    using namespace std;
    int main(){
    	double a;	cin>>a;
    	cout<<int(a+0.5);
    	return 0;
    }

    这里要注意强制转换使用需要注意的地方:最好使用“类型+(强制转换的变量表达式)”。

    例如下面两个是不一样的:

    int a=2.5,b=2.4,a1,a2,b1,b2;
    a1=(int)a+0.5;
    a2=int(a+0.5);
    b1=(int)b+0.5;
    b2=int(b+0.5);
    
    /*
    a1=2.5
    a2=3
    b1=2.5
    b2=2
    */

    如果只对强制转换的目标类型加括号,如上面的(int),结果就是会选择最近的变量进行强制类型转换,不会把后面的表达式都进行强制类型转换。

    展开全文
  • C++中的四舍五入方法

    2014-02-19 10:57:03
    原文地址:C++中的四舍五入方法作者:魔岩 方法一:使用setprecision(n)可控制输出流显示浮点数的数字个数,C++默认的流输出数值有效位是6。    如果setprecision(n)与setiosflags(ios::fixed)合用,可控制...
    原文地址:C++中的四舍五入方法作者:魔岩

    方法一:使用setprecision(n)可控制输出流显示浮点数的数字个数,C++默认的流输出数值有效位是6。

              如果setprecision(n)与setiosflags(ios::fixed)合用,可控制小数点右边的个数。setiosflags(ios::fixed)是用定点方式表示实数。 
           如果与setiosnags(ios::scientific)合用,可以控制指数表示法的小数位数。setiosflags(ios::scientific)是用指数方式表示实数。
    方法二:利用算法进行四舍五入,在例子中介绍。

    #include <iostream>

    #include <iomanip> //要用到格式控制符

    #include<cmath>
    using namespace std;

     

    int main()
    {
          double amount = 22.0/7;
          cout<<amount <<endl;

          //法一
          cout<<setprecision(0) <<amount <<endl;
          cout<<setprecision(1) <<amount <<endl;
          cout<<setprecision(2) <<amount <<endl;
          cout<<setprecision(3) <<amount <<endl;
          cout<<setprecision(4) <<amount <<endl;
       cout <<setiosflags(ios::fixed)<<setprecision(8) <<amount <<endl;
          //法二
          //取整时四舍五入
       double aount=22.0/7,a,b,c;
          int x;
          x=int(aount*10);
          if(x<5)
                a=int(aount);
          else
                a=int(aount)+1;
          cout<<"四舍五入后为:"<<a<<endl;

          //取一位小数时四舍五入

          x=int(aount*100);
          if(x<5)
                b=int((aount*10))/10.0;
          else
                b=int(aount*10+1)/10.0;
          cout<<"四舍五入后为:"<<b<<endl;
          //取n位小数

           double n;

         cout<<"请输入小数位数n:";

            cin>>n;//n<=5

           x=int(aount*pow(10,n));
          if(x<5)
                c=int(amount*pow(10,n-1))/pow(10,n-1);
          else
                c=int(amount*pow(10,n-1)+1)/pow(10,n-1);
       cout<<"四舍五入后为:"<<c<<endl;
       return 0;
    }

    展开全文
  • 四舍五入的方法

    2018-12-30 16:30:07
    printf("%d", (int)(max + 0.5));

    printf("%d", (int)(max + 0.5));

    展开全文
  • C语言实现四舍五入

    2018-04-18 18:07:43
    C语言中实现四舍五入: (int)(a+0.5)即可。 很巧妙的用了取整规则。 也不用导入math.h 同样注意负数的情况。 把 + 换成 - 即可。 float f = …..; int i = (int)(f + 0.5); i就是f四舍五入的结果。 今天我要...

    C语言中实现四舍五入:
    (int)(a+0.5)即可。
    很巧妙的用了取整规则。
    也不用导入math.h
    同样注意负数的情况。
    把 + 换成 - 即可。

    float f = …..;
    int i = (int)(f + 0.5);
    i就是f四舍五入的结果。

    今天我要介绍在C语言中实现数据四舍五入的算法。
    我们知道,C语言中去除小数位采用的方法就是强制性转化成整型类型。那么假如我们要对一个小数保留三个小数位而第四个小数位按照四舍五入的规则进行,
    该怎样实现呢?很简单,我们将数字扩大1000倍,使得第四位小数称为新数字的第一位,然后我们可以给它加上0.5后再进行强制性转化。加0.5的原因就是:
    假如这个小数位的数值大于5,加上0.5能够实现进位的作用,倘若小于0.5,就没有实现进位的作用。如此,就能实现小数位的四舍五入。然后我们再对这个数值
    进行强制性转化,然后再处以1000.0(记住,一定要1000.0,否则就会出现隐式转化),在输出的时候用%0.3f以实现保留三位小数。

    # include <stdio.h>
    int main(void) {
        float a;
        scanf("%f", &a);
        a = (int)(a*1000+0.5)/1000.0;
        printf("%0.3f", a);
        return 0;
    }

    有一个round函数可以直接调用,
    round(x)
    参数时double型,返回小数对整数部分的四舍五入值
    比如 round(3.623); 返回4

    C语言中保留两位小数:小技巧

    float a = 3.456; //保留到小数点后两位
    float b =(int)((a * 100) + 0.5) / 100.0;
    输出结果为3.46
    精度比较高

    float a = 23.456789;

    printf(“%.2f”,a); //输出为23.45

    #include"stdio.h"
    #include"math.h"
    void main()
    {
    float x;
    scanf("%f",&x);
    int y = round(x);
    printf("%d",y);
    }
    
    展开全文
  • System.out.println("---------------五种四舍五入保留小数的方法-------------------"); System.out.println("-------第一种String法-------"); String s1=String.format("%.2f", 3.14563); System.out.pr...
  • 今天跟大家分享的小技巧是跟浮点数取整相关,我们知道计算机在为浮点数取整是通常是向零取整,...乍一看来这么做没有任何问题,但在实际问题中我们常常希望让浮点数“四舍五入”,也就是说如果对变量a取整,得到的数...
  • 四舍五入的问题

    2018-12-20 09:20:09
    一、如果是不保留小数的四舍五入(也就是只留下整数部分) 用floor函数 头文件 floor(x),也写做Floor(x),其功能是“向下取整”,或者说“向下舍入”,即取不大于x的最大整数(与“四舍五入”不同,下取整是直接取...
  • 四舍五入”总结

    2019-05-20 17:27:57
    在做pta-1026的时候遇到四舍五入的问题,现在总结一下四舍五入的方法与思路: 方法一: 用判断语句对100取余后,小数点后的几位数与50的大小比较; int cha = c2-c1; if(cha%100 >=50) { cha = cha +1; ...
  • 菜鸟教程中介绍到,round() 函数作用就是,返回浮点数x的四舍五入值。 round( x [, n] ) 参数x,n均为数值表达式,返回值为x的四舍五入值。n为保留的小数位数,不加n则只保留x四舍五入后的整数部分。 &amp;amp...
  • 数字的四舍五入

    2018-06-08 15:30:05
    小数四舍五入 对于简单的舍入运算,使用内置的 round(value, ndigits) 函数即可。比如: &gt;&gt;&gt; round(1.23, 1) 1.2 &gt;&gt;&gt; round(1.27, 1) 1.3 &gt;&gt;&gt; ...
  • Java四舍五入保留1位小数的方法: import java.math.BigDecimal; public class Test { public static void main(String[] args) { double d1 = 3.02; System.out.println(d1); //利用字符串格式化的...
  • 在很多场景的计算中,最终得到的数值例如123.45678,要截取2位小数得到123.45,而不是默认的四舍五入方法得到123.46,如何实现呢? 一.小数点后取2位(四舍五入)的方法 方法一:round()函数 方法二:’%.2f...
  • toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。 但是其四舍五入的规则与数学中的规则不同,使用的是银行家舍入规则。 银行家舍入:所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双...
  • 通过函数ROUND四舍五入在SQL Server中,若想完成四舍五入,可使用函数ROUND。如下对ROUND的使用做简单演示。保留2位小数,对第3位做四舍五入处理(注意最后一位数字:4或5)--保留2位小数,并对第3位小数四舍五入 ...
  • 四舍五入的方式: 这种方式可以使用js自带的函数:value.toFixed(x),x为需要保留的小数位数,不足位数时会补0,value须为Number类型; 例: let data=12.135; console.log(data.toFixed(2));//12.14 非四舍五入...
  • 今天在oj上看到了一道看起来很简单的题目,结果四舍五入竟然找不到很好的算法实现,百度了一下发现...这么简单!!!所以还是要继续努力啊,加油! Description 在我们的日常学习、生活、工作中要分得清主次,既能...
  • 最近快被ios的四舍五入的问题给烦死了,不是说他的四舍五入不好用,而是这个四舍五入有时可能不是四舍五入,而是四舍六入。 先说一下我最后确定使用的方法: -(float)roundFloat:(float)price{   return ...
  • (注:5.5向上取整为6,向下取整为5)正常情况下 int(5.5) 结果为5如果想要让其按照人类的思维“四舍五入”5.4 “四舍五入”结果为:5,int(5.4+0.5) == 55.6 “四舍五入”结果为:6,int(5.6+0.5) == 6...
  • 一、现象描述 在机器中浮点数不能精确表达,因为换算成一串1和0后可能是...然而,Python使用四舍六入五六双的方法进行取舍,不能精确实现四舍五入。 如下: 无论是round,还是demical都不能很好的进行四舍五入,...
  • MySQL常用的四舍五入函数: 函数 说明 FLOOR(X) 返回不大于X的最大整数。 CEIL(X)、CEILING(X) 返回不小于X的最小整数。 TRUNCATE(X,D) 返回数值X保留到小数点后D位的值,截断时不进行四舍五入。...
1 2 3 4 5 ... 20
收藏数 134,334
精华内容 53,733
关键字:

四舍五入