当前位置: 首页 > news >正文

怎样以小数点后位数区分double 与flaot,foalt怎样声明。

补充:一个小知识点:

int y=1.5f    表示1.5是float类型,在赋给y,但是y是int型,最后y=1;

#include <iostream>
using namespace std;
int main()
{
    float y=123.4567;
    float yy=123456;//不管小数点,有线数字6位
    
    double x=123.4567;
    double xx=123456;//不管小数点,有线数字6位,,不管double还是float有效数字6位
    
    float ceshi1=1234567;
    double ceshi2=1234567;//没有小数点有效数字6位

    cout << x<< endl;
    cout << y<< endl;
    
    cout << xx<< endl;
    cout << yy<< endl;
    
    cout << ceshi1<< endl;
    cout << ceshi2<< endl;
    return 0;
}

补充:这里不存在四舍五入,小数直接干掉(毕竟是机器,不然四舍五入还得写代码)

结果:

123.457
123.457
123456
123456
1.23457e+06
1.23457e+06

 

不论double还是float的有效位数都是6,在小数点后面保留的位数没什么区别,他们的却别在于物理存储;但是float有些不同;

例子:

float型float f=3.4是否正确?


不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4 或float f = 3.4f 在java里面,没小数点的默认是int,有小数点的默认是 double; int 转成 long 系统自动作没有问题,因为后者精度更高 double 转成 float 就不能自动做了,所以后面的加上个 f
 

 

float是单精度类型,精度是8位有效数字,取值范围是10的-38次方到10的38次方,float占用4个字节的存储空间

double是双精度类型,精度是17位有效数字,取值范围是10的-308次方到10的308次方,double占用8个字节的存储空间

当你不声明的时候,默认小数都用double来表示,所以如果要用float的话,则应该在其后加上f

例如:float a=1.3;

则会提示不能将double转化成float  这成为窄型转化

如果要用float来修饰的话,则应该使用float a=1.3f

注意float是8位有效数字,第7位数字将会产生四舍五入

所以如果一个float变量 这样定义:  float a=1.32344435;   则第7位将产生四舍五入(5及5以下的都将舍去)   

相关文章:

  • ::什么意思
  • 时政大题
  • 彻底明白p++,*(p++)等 经典例子:char str []=Orange or Apple?;让你彻底明白p++,*(p++)等
  • sin(1/x)的图像,第二类间断点,震荡间断点
  • 拓扑排序 图的基础知识  1.图的定义 2.无向图 3.简单图多重图 4.完全图 5.子图 6.连通,强连通、连通图、连通分量(极大连通子图) 7.强连通图、强连通分量 8.生成树和
  • c++中switch的default问题1331,不同位置结果不同
  • 数组下标赋值问题,a[i++] =1;//先a[i] i再加加
  • 逗号表达式,以及加入:i++,++i
  • 生活脾胃
  • 线性表结构体(“->”和“.”的区别); 树的结构体 前序遍历递归 递归实现求树的高度 图的邻接矩阵 图的邻接表 dfs判断顶点i 顶点 j是否可达 栈 队列 list:
  • 排序算法第n趟总结 排序算法时间空间复杂度 各种排序算法额外空间
  • 递归和while区别 递归算法三步 递归应用 递归杨辉三角 求树的深度 递归求叶子节点总数 链表逆置 二叉树叶子节点到根节点路径 比较两个二叉树是否相同
  • 精简易懂的快速排序,插入排序,大顶堆排序
  • 线性表结构体有两种方式; 指针指向一维数组 ElemType在c中使用 结构体解释: 结构体别名LNode和*LinkList区别; c++ new关键字; 树的结构: 递归实现求数的高
  • 计算机原理中的位向量表示集合的原理是什么
  • AWS实战 - 利用IAM对S3做访问控制
  • canvas 高仿 Apple Watch 表盘
  •  D - 粉碎叛乱F - 其他起义
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • Just for fun——迅速写完快速排序
  • node 版本过低
  • node.js
  • rabbitmq延迟消息示例
  • react 代码优化(一) ——事件处理
  • Vue ES6 Jade Scss Webpack Gulp
  • webgl (原生)基础入门指南【一】
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 基于Android乐音识别(2)
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 大数据全解:定义、价值及挑战
  • #Linux(make工具和makefile文件以及makefile语法)
  • ${ }的特别功能
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (八)Flask之app.route装饰器函数的参数
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (新)网络工程师考点串讲与真题详解
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转) Face-Resources
  • .bashrc在哪里,alias妙用
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .Net Core缓存组件(MemoryCache)源码解析
  • .net 使用ajax控件后如何调用前端脚本
  • .net(C#)中String.Format如何使用
  • .NET设计模式(11):组合模式(Composite Pattern)
  • @Autowired和@Resource的区别
  • [AIGC] Redis基础命令集详细介绍
  • [C#基础知识]专题十三:全面解析对象集合初始化器、匿名类型和隐式类型
  • [CentOs7]图形界面
  • [CISCN2019 华北赛区 Day1 Web2]ikun
  • [codevs 1515]跳 【解题报告】