为什么 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. c语言源码什么意思,请问C语言源代码什么意思?

    请问C语言源代码什么意思? main() { long fn1,fn2,fn3; int i,n; printf("please enter Month Number(less than 4 ...

  2. c语言一段字符加密,请问C语言怎么实现对一长串字符进行MD5加密?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 typedef unsigned char *POINTER; typedef unsigned short int UINT2; typedef uns ...

  3. c语言 统计数量用count_请问c语言当中,如何统计数字各自出现的次数

    实现代码: #include int main() { int num = 0, i = 0; printf("请输入一个整数:"); scanf("%d", ...

  4. 在c语言中逗号的作用,请问C语言里逗号运算符有什么用?

    哆啦的时光机 C语言中,逗号既可作 分隔符 ,又可作 运算符.(1)逗号作为分隔符使用时,用于间隔说明语句中的变量或函数中的参数:例如楼上的朋友所举的例子:int a, b, c, d; 用于 间隔说 ...

  5. c语言逗号运算符的作用,请问C语言里逗号运算符有什么用?

    C语言中,逗号既可作 分隔符 ,又可作 运算符. (1)逗号作为分隔符使用时,用于间隔说明语句中的变量或函数中的参数: 例如楼上的朋友所举的例子:int a, b, c, d; 用于 间隔说明语句中的 ...

  6. c语言是自动四舍五入,请问c语言如何实现四舍五入?

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

  7. python中小数点后取2位(四舍五入)以及取2位(四舍五不入)的方法总结

    在很多场景的计算中,最终得到的数值例如123.45678,要截取2位小数得到123.45,而不是默认的四舍五入方法得到123.46,如何实现呢? 文章目录 一.小数点后取2位(四舍五入)的方法 方法一 ...

  8. c语言两数相除等于小数多少,c语言知识程序两数相除精确到小数点后k位.doc

    c语言知识程序两数相除精确到小数点后k位.doc -题目 输入两个整数m和n,及另一正整数k,计算m/n,结果精确到小数点后k位1.问题分析与方案设计.1.首先解决输入问题.题目要求输入三个整数m,n ...

  9. c语言两数相除等于小数多少,c语言程序两数相除精确到小数点后k位

    题目: 输入两个整数m和n,及另一正整数k,计算m/n,结果精确到小数点后k位 1.问题分析与方案设计. 1.首先解决输入问题.题目要求输入三个整数m,n,k.所以定义input()函数,使输入的为正 ...

最新文章

  1. 移动应用开发者正饱受折磨
  2. 大数据互联网架构阶段 Spring框架导致的406错误
  3. jmeter java接口,jmeter并发测试java接口 | 学步园
  4. 今天看到导师给我的批注哭了...
  5. monkey测试小结
  6. SecureCRT 7.3.4 安装以及破解
  7. Android smartimageview网络图片查看器
  8. non-rigid shape registration using similarity-invariant differential coordinates
  9. Git管理工具SourceTree文件预览乱码问题
  10. 计算机显示器分辨率,如何设置电脑显示器的分辨率
  11. 移远4G模组EC600N进行TCP/IP连接和服务器测试
  12. macbook电池用什么软件测试,Wattagio Mac_Wattagio For Mac(电池检测软件) v1.1苹果电脑版 - 121苹果网...
  13. 在VirtualBox的虚拟机上安装和使用NCS2(intel movidius stick 2)
  14. 自动化技术、计算机技术核心期刊整理及介绍
  15. 关于MSN群 创建MSN群 使用MSN群
  16. IntelliJ IDEA 2017 提示“Unmapped Spring configuration files found.Please configure Spring facet.”
  17. POJ 3689 Equations 题解 《挑战程序设计竞赛》
  18. ElasticSearch: 使用Java Api 操作 ES
  19. 网络—— 数据链路层,MTU
  20. ITSM体系的整体目的

热门文章

  1. OSI参考模型下电子邮件传输过程
  2. python爬虫爬取图片保存到本地文件
  3. 山东工商学院计算机专业在哪个校区,山东工商学院计算机
  4. iris数据集可视化实战
  5. 主成分分析PCA的前世今生
  6. 教育领域-数据可视化平台建设项目
  7. 常见SQL面试题知识点+使用技巧
  8. 首次公布Java10W字面经,Github访问量破百万,简直就是offer收割机!
  9. 韩国通过未成年人防沉迷法案:18岁以下学生儿童无法玩游戏
  10. 智安网络丨2021 必须了解的40个问题