C++浮点数float转int精度丢失解决

C++浮点数float转int精度丢失解决float 转 int 精度丢失问题一种解决方法

我在开发时,遇到这样一种场景:
1.需要传递浮点数, 将浮点数转成int或者uint类型传输。(固定条件不能改)
2.例如传递65.533, 那么把这个数乘以1000,变成65533,然后再传输。

遇到的问题是,我用float类型保存65.533,结果他在内存中的保存形式为65.5329971, 乘以1000然后取整变成了65532!
解决方法:经过他人指导,采用round()函数,将变量四舍五入,然后在转成整数就可以了。

    float tt = 65.533;
    int ans = static_cast<int>(1000*tt);        //65532
    int ans2 = static_cast<int>(round(1000*tt));    //65533

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/227240.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午9:38
下一篇 2026年3月16日 下午9:38


相关推荐

  • python hashlib_python之hashlib模块

    python hashlib_python之hashlib模块hashlib模块是python内置的摘要算法。hashlib有两种调用方式:第一种是hashlib.new方法new(name,data=b‘‘,**kwargs)-returnsanewhashobjectimplementingthegivenhashfunction;initializingthehashusingthegivenbinarydat…

    2025年6月20日
    5
  • linux home键无法使用,iPhone 7 的特殊 Home 键坏了怎么办?别担心还有虚拟按钮

    linux home键无法使用,iPhone 7 的特殊 Home 键坏了怎么办?别担心还有虚拟按钮还记得在 iPhone7 推出之前传得沸沸扬扬 说苹果将会舍弃实体 Home 按键改用虚拟按键的消息吗 虽说这次这颗底下放着 Taptic 引擎 让人无法压下去的感压按钮 基本上已经算是半实现这样的概念了 不过有位来自 MacRumors 论坛的用户 却因为 Home 键突然失灵而意外发现 Apple 的解决方法 居然见到了这传说中的虚拟 Home 按钮 是说这东东其实很多人应该都似曾相识过

    2026年3月26日
    2
  • Laravel 5框架Mutator,Scope

    Laravel 5框架Mutator,Scope首先修改控制器:publicfunctionstore(){Article::create(Request::all());returnredirect(‘articles’);}然后修改视图,添…

    2025年11月2日
    5
  • java.util.scanner sc_Java的Scanner sc=new Scanner(System.in)是什么意思「建议收藏」

    java.util.scanner sc_Java的Scanner sc=new Scanner(System.in)是什么意思「建议收藏」展开全部当通过newScanner(System.in)创建一个Scanner,控制台会一直等待输入,62616964757a686964616fe58685e5aeb931333433653935直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象。如果要获取输入的内容,则只需要调用Scanner的nextLine()方法即可。例:importjava.util.Scanner;…

    2022年7月20日
    17
  • 【实战】javaweb学生信息管理系统[通俗易懂]

    javaweb学生信息管理系统总的来说整个项目通过Maven来管理jar包,实现了学生信息管理系统的登录,增删改查等基本操作,然后不喜写css样式,页面有点丑,但是代码中的逻辑基本正确。项目下载链接csdn下载链接github地址一、项目架构二、数据库的设计操作1.user表2.student表三、登录界面(动态生成验证码、提示账号or密码or验证码输入有误)四、登录的主界面五…

    2022年4月15日
    93
  • matlib打印语句_matlab输出语句是什么?

    matlib打印语句_matlab输出语句是什么?matlab 常见的输出形式主要有三种 1 直接输出到命令行 MATLAB 允许在脚本 M 文件 或者命令行上直接输入变量名即可输出 这种方法应用起来较为简单方便 适合测试时使用 但一般输出时时按照系统默认格式进行输出 若要调整需要在程序前通过 format 修改命令行输出格式 例如 formatlong 设置命令行输出格式为固定十进制长格式 同理可以设置为 short 短格式 更多的数值格式见下表所示

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号