为什么 329.835 会变成 329.83,529.835 会变成 529.84,就是因为在内存中的数字是用二进制表示的,不可能准确表达十进制小数后三个位,刚好 329.835 在内存中相当于 329.83499...,不足 329.835,就会出现这个情况。

int((a*1000+5)*0.001) 的意思是取小数后两个位,但是 basic 语言的语法,不是 c 语言的语法,而且也犯了一个错误,乘 0.001 以后才 int,不是把小数后所有数字都去掉了吗?应该是:int(a*100+0.5) * 0.01,不要外面的括号,并且是在乘以 100 倍的时候取整型。按照 c 语言的语法,应该写成:

(int) (a*100+0.5) * 0.01

(int) 是类型转换运算符。但是 int 只到 32767,安全一点,应该用:

(long) (a*100 + 0.5) * 0.01

不过,这个并不能解决 329.835 相当于 329.83499... 的问题。比较保险的解决方法,第一,把所有的值赋值给 double 型变量,不要用 float,第二,不用 0.5,而是改用 0.50001 这类的数字,把 0.49999 一类的数字纠正过来:

(long) (a*100 + 0.50001) * 0.01

0.50001 中间要加多少个 0 效果才最理想,就要看实际数据了。

c语言是自动四舍五入,请问c语言如何实现四舍五入?相关推荐

  1. centos 自动补全c语言,YouCompleteMe自动补全C语言大型项目 ycm

    YouCompleteMe自动补全C语言大型项目 我的ycm在vimrc中的配置" YouCompleteMe相关配置 let g:ycm_server_python_interpreter ...

  2. C语言 z的意思,请问c语言t=++x||++y++z这句话是什么意思?

    请问c语言t=++x||++y&&++z这句话是什么意思? 來源:互聯網  2011-12-13 10:22:58  評論 分類: 教育/科學 >> 理工學科 >&g ...

  3. c语言左边自动补零,c语言左移4,余位补零 时不时乘以16?

    c语言左移4,余位补零 时不时乘以16?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! c语言左移4,余位补零 时不时乘 ...

  4. c语言源程序自动评判系统,C语言源程序的自动评判毕业设计论文

    C语言源程序的自动评判毕业设计论文 目 录 第1章 引言 ....................................................................... ...

  5. c语言源程序自动评判系统,C语言源程序的自动评判系统.pdf

    C语言源程序的自动评判系统.pdf · 6 · ComputerEraNo.4 2010 C五口吉I====I源程序的自动评判系统 余梓唐 (义乌工商学院计算机系,浙江 义乌 322000) 摘 要: ...

  6. c语言编写自动生成密码,c语言密码生成.doc

    c语言密码生成 计算机实习报告 一 题目分析 1 实验题目: 实现一个简单的密码生成系统.一个有效的密码由L(3<=L<=15)个小写字母(来自传统的拉丁字母集'a'...'z')组成,至 ...

  7. c语言的自动测试工具,C语言单元测试框架--check工具

    C语言单元测试框架--check工具 虽然在UNIX上用C语言做开发已经有一段时间了,但是我不得不承认,自己单元测试做的并不好.恰好最近有新的开发任务,就学习了一些关于测试驱动开发的知识,准备改进自己 ...

  8. c语言如何自动生成word,C语言读取word文档的方法

    C语言读取word文档的方法 第一种方法: 复制代码 代码如下: Response.ClearContent(); Response.ClearHeaders(); Response.ContentT ...

  9. c语言作业自动批改代码,C语言助教用于批量改作业的脚本

    作为一名C语言助教,最恶心的事情莫过于改作业了,尤其是我们学校这种对输入输出都没有严格要求的题目,不能通过类似OJ的判题系统批量批改的,原则上是只能手动批改的.但是一直做着相同的简单的劳动真的很让人发 ...

最新文章

  1. CSS5:移动端页面(响应式)
  2. cobertura-maven-plugin
  3. html自定义颜色函数,javascript设置元素背景颜色
  4. android颜色值的表示方法android:background=#FFFFFFFF的意思
  5. 快慢法判断单链表中是否有循环链表
  6. 第三次学JAVA再学不好就吃翔(part4)--基础语法之变量
  7. 短语密码_使用密码短语以提高安全性
  8. hihoCoder 1092 : Have Lunch Together
  9. java语句中switch_Java中的switch-case语句
  10. PostgreSQL全局临时表插件pgtt的使用
  11. python中的数据类型中int表示_python中的基本数据类型之 int bool str
  12. 《Windows高级调试》译者线上聊天活动获奖网友名单
  13. 一般的病毒通过注册表自启动的方式不断完善中。。。。
  14. 飞线(jump wire)
  15. 众筹系统源码 java_以太坊 众筹系统
  16. 学习Java自学好还是报培训班?
  17. gitBlit的使用
  18. 【k8s源码篇】k8s类型定义1之yaml与单体、list对象转换
  19. 基于java+ssm医院门诊预约挂号排班系统
  20. 不想多挣钱的程序员都有罪!!!

热门文章

  1. SAP ui5 configuration.js
  2. configurations in Gateway hub system
  3. ABAP WebService SRT框架的初始值处理
  4. 使用Adobe Lifecycle ES将若干个word合并成一个PDF
  5. Unable to install breakpoint in Modify compiler options to generate line number attributes
  6. registerModulePath
  7. 使用java程序对新浪微博的内容进行语义分析
  8. 我给非洲医药基金会捐的款和感谢信
  9. 一家互联网公司校园招聘的笔试题以及答题分析
  10. 将Java应用部署到SAP云平台neo环境的两种方式