默认C++float转换成int是直接去除小数点后边的数字

  1. 常规的float转换为 int
    例如:9.34 = (int) 9;9.99 = (int) 9
#include<stdio.h>
int main()
{  float i = 9.34;  float j =  9.99;  int a, b;  a = (int) i;  b = (int) j;  printf("a = %d\n",a);  printf("b = %d\n",b);  }

上面的输出结果为:

  a = 9b = 9
  1. float 转换为 int 需要四舍五入提高精度,则基本算法如下:
    在计算是特别要注意正负数的问题,另外要注意round()函数转换后虽然数值小数点后都变为了零,但此时还是float,还需要转换为int
#include<stdio.h>
int main()
{  float zer =  0;  float i = 9.34;  float j =  9.99;  float k = -9.34;  float m = -9.99;  int a, b, c, d, e;  int a1, b1, c1, d1, e1;
a = (int) (i * 10 + 5) / 10;
b = (int) (j * 10 + 5) / 10;
c = (int) (k * 10 - 5) / 10;
d = (int) (m * 10 - 5) / 10;
e = zer;  a1 = (int)  round(i)  b1 = (int)  round(j);  c1 = (int)  round(k);  d1 = (int)  round(m);  e1 = (int) round(zer);
printf("a = %d\n",a);
printf("b = %d\n",b);
printf("c = %d\n",c);
printf("d = %d\n",d);
printf("e = %d\n",e);
printf("round a1 is %f\n", a1);
printf("round b1 is %f\n", b1);
printf("round c1 is %f\n", c1);
printf("round d1 is %f\n", d1);
printf("round e1 is %f\n", e1);
}

上面的输出结果为:

  a = 9b = 10c = -9d = -10e = 0
round a1 is 9
round b1 is 10
round c1 is -9
round d1 is -10
round e1 is  0

C++ float转换int相关推荐

  1. c#语言float转换int,关于C#:在x86上将float转换为int的最快方法是什么

    在x86 CPU上将浮点数转换为int的最快方法是什么. 优选在C或组件中(可以在C中内嵌)以获得以下任何组合: 32/64/80位浮点数 - > 32/64位整数 我正在寻找一些比让编译器更快 ...

  2. 数据分析-day03-pandas-dataFrame的抽取某列数据,将float转换int型,实现直方图显示

    #float转换成整型 d_num=d_num.astype(int); # -*- coding: utf-8 -*-# @File : pandas_dataframe_zhifang_demo. ...

  3. c#语言float转换int,c#中怎么把int向float型转换?

    楼主观察很细微啊.int到float转换精度会降低,如果需要较高精度,应该考虑使用double类型.如下分析: 第一点:从int(System.Int32)到float转换精度会降低.如下代码: st ...

  4. C++ float转换int,四舍五入

    正常的float 转换为 int 的情况是采用去尾巴的方式,也就是说去掉小数点后面的数值. 1.  常规的float 转换为 int  : 例如: 9.34  =  (int) 9   :  9.99 ...

  5. java float转换int

    1.Java的简单类型及其封装器类 ⑴Java简单类型与封装类 我们知道,Java语言是典型的支持面向对象的程序语言,但考虑到有些基本数据类型的结构简单,占内存小且存取速度快等优点,Java依然提供了 ...

  6. c#语言float转换int,C#Float表达式:将结果float转换为int时的奇怪行为

    我有以下简单代码: int speed1 = (int)(6.2f * 10); float tmp = 6.2f * 10; int speed2 = (int)tmp; speed1并且speed ...

  7. java int转换float_java float转换int

    1.Java的简单类型及其封装器类 ⑴Java简单类型与封装类 我们知道,Java语言是典型的支持面向对象的程序语言,但考虑到有些基本数据类型的结构简单,占内存小且存取速度快等优点,Java依然提供了 ...

  8. c#语言float转换int,【已解决】C#中double/float转int,小数部分四舍五入

    [问题] C#中,需要将一个double的值转换为int类型. [解决过程] 1.参考: 去试了试Math的Floor和Ceiling,已经Convert.Int64和Int32,测试结果见代码:pr ...

  9. c语言int转换成float,int怎么转化为float 将 int型变量n转换成float型变量的方法是...

    请问C语言中如何将int转换为float 将 int型变量n转换成float型变量的方法是 A float n B (float )n C float( n) D( float) ( n)不懂小编的人 ...

  10. float 和int转换是怎么做到的

    转载自:http://blog.sina.com.cn/s/blog_5c6f79380101bbrd.html 那么真正存在内存里的这个二进制数,转化回十进制,到底是比原先的十进制数大呢,还是小呢? ...

最新文章

  1. 设计模式 之美 -- 单例模式
  2. js 数组 实现 完全树_算法和数据结构 | 树状数组(Binary Indexed Tree)
  3. MySql中delimiter
  4. 卡尺测量的最小范围_不知道这四大基本原则,你还有脸在测量圈混?
  5. vue-cli 将被 create-vue 替代?初始化基于 vite 的 vue3 项目为何如此简单?
  6. 中国数码电影摄影机行业市场供需与战略研究报告
  7. APUE学习笔记-守护进程的创建
  8. Docker 概述 与 CentOS 上安装、卸载、启动
  9. 【数字信号调制】基于matlab 16QAM信号调制解调【含Matlab源码 2050期】
  10. hbase下载安装与配置
  11. 天眼查是怎么获得企业工商信息的?
  12. 磁盘阵列卡组建磁盘阵列
  13. 马氏距离 java实现_马氏距离与欧氏距离
  14. Unity3D角色换装及换装编辑器
  15. python怎样计算增长率_Python令人难以置信的增长
  16. BIMC品牌整合营销:电子商务外包是中小企业未来发展方向
  17. [Azure - VM] 解决办法:无法通过SSH连接VM,解决错误:This service allows sftp connections only.
  18. aws打开慢_亚马逊AWS服务器访问较慢,如何快速访问AWS服务器呢?
  19. 算法实验 01背包 暴力解法 java实现
  20. Masking Layer的作用

热门文章

  1. 【信源编码技术】实验1-浊音清音爆破音的时域及频域特性分析
  2. 软件工程——数据流图(DFD)
  3. HBulider 制作 手机APP
  4. RuntimeError: mat1 dim 1 must match mat2 dim 0 报错解决
  5. 简述程序化交易的优缺点都是什么?
  6. 狂神说Springboot
  7. .htaccess 让域名转向到别一域名
  8. android 自定义 对号,超简单实现Android自定义Toast
  9. mantis最正确的安装步骤详解,不能实现你找我
  10. 丢失api-ms-win-crt-heap-l1-1-0.dll 错误的解决办法