c语言用怎么四舍五入小数,请问c语言如何实现四舍五入?
为什么 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语言如何实现四舍五入?相关推荐
- c语言源码什么意思,请问C语言源代码什么意思?
请问C语言源代码什么意思? main() { long fn1,fn2,fn3; int i,n; printf("please enter Month Number(less than 4 ...
- c语言一段字符加密,请问C语言怎么实现对一长串字符进行MD5加密?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 typedef unsigned char *POINTER; typedef unsigned short int UINT2; typedef uns ...
- c语言 统计数量用count_请问c语言当中,如何统计数字各自出现的次数
实现代码: #include int main() { int num = 0, i = 0; printf("请输入一个整数:"); scanf("%d", ...
- 在c语言中逗号的作用,请问C语言里逗号运算符有什么用?
哆啦的时光机 C语言中,逗号既可作 分隔符 ,又可作 运算符.(1)逗号作为分隔符使用时,用于间隔说明语句中的变量或函数中的参数:例如楼上的朋友所举的例子:int a, b, c, d; 用于 间隔说 ...
- c语言逗号运算符的作用,请问C语言里逗号运算符有什么用?
C语言中,逗号既可作 分隔符 ,又可作 运算符. (1)逗号作为分隔符使用时,用于间隔说明语句中的变量或函数中的参数: 例如楼上的朋友所举的例子:int a, b, c, d; 用于 间隔说明语句中的 ...
- c语言是自动四舍五入,请问c语言如何实现四舍五入?
为什么 329.835 会变成 329.83,529.835 会变成 529.84,就是因为在内存中的数字是用二进制表示的,不可能准确表达十进制小数后三个位,刚好 329.835 在内存中相当于 32 ...
- python中小数点后取2位(四舍五入)以及取2位(四舍五不入)的方法总结
在很多场景的计算中,最终得到的数值例如123.45678,要截取2位小数得到123.45,而不是默认的四舍五入方法得到123.46,如何实现呢? 文章目录 一.小数点后取2位(四舍五入)的方法 方法一 ...
- c语言两数相除等于小数多少,c语言知识程序两数相除精确到小数点后k位.doc
c语言知识程序两数相除精确到小数点后k位.doc -题目 输入两个整数m和n,及另一正整数k,计算m/n,结果精确到小数点后k位1.问题分析与方案设计.1.首先解决输入问题.题目要求输入三个整数m,n ...
- c语言两数相除等于小数多少,c语言程序两数相除精确到小数点后k位
题目: 输入两个整数m和n,及另一正整数k,计算m/n,结果精确到小数点后k位 1.问题分析与方案设计. 1.首先解决输入问题.题目要求输入三个整数m,n,k.所以定义input()函数,使输入的为正 ...
最新文章
- 移动应用开发者正饱受折磨
- 大数据互联网架构阶段 Spring框架导致的406错误
- jmeter java接口,jmeter并发测试java接口 | 学步园
- 今天看到导师给我的批注哭了...
- monkey测试小结
- SecureCRT 7.3.4 安装以及破解
- Android smartimageview网络图片查看器
- non-rigid shape registration using similarity-invariant differential coordinates
- Git管理工具SourceTree文件预览乱码问题
- 计算机显示器分辨率,如何设置电脑显示器的分辨率
- 移远4G模组EC600N进行TCP/IP连接和服务器测试
- macbook电池用什么软件测试,Wattagio Mac_Wattagio For Mac(电池检测软件) v1.1苹果电脑版 - 121苹果网...
- 在VirtualBox的虚拟机上安装和使用NCS2(intel movidius stick 2)
- 自动化技术、计算机技术核心期刊整理及介绍
- 关于MSN群 创建MSN群 使用MSN群
- IntelliJ IDEA 2017 提示“Unmapped Spring configuration files found.Please configure Spring facet.”
- POJ 3689 Equations 题解 《挑战程序设计竞赛》
- ElasticSearch: 使用Java Api 操作 ES
- 网络—— 数据链路层,MTU
- ITSM体系的整体目的