关于小数四舍五入的方式
近日,发现小数四舍五入写代码有问题,遂网络上查了下资料,记录下来以便日后查询。
原理:放大数据,再利用运算符的优先级处理。
1.首先,得知道,运算优先级,括号→转换→乘除加减。
2.两种方式,主要是放大倍数不同。
㈠平方实现:
#include <stdio.h>long powe(long n);int main(void) {long t; //过渡量long i = 3; //精度,小数点后几位。float h = 11.5555; //需要进行四舍五入的数t = (long)((h*powe(i+1)+5)/10.0);h = (float)t/powe(i);printf("%f",h);return 0; }long powe(long n) //平方 {long x=1;if(n>0)x = 10*powe(--n); elsereturn 1;return x; }
㈡加法实现:
#include <stdio.h>double powe(double n);int main(void) {double x = 11.55556666; //需四舍五入的数double i = 3; //精度double y = 0; //结果y = 0.01*1.0/powe(i)*(int)(100.0*powe(i)*(x+0.005*1.0/powe(i)));//默认小数点后一位printf("%f",y);return 0; }double powe(double n) {--n;double s = 0;if(--n>0)s = 10*powe(--n);elsereturn 1;return s; }
总结:
以上两种方式都是针对小数点后几位进行四舍五入,第一种方式优点在于负数也能进行,第二种则不能。但需注意的是,在第一种方式中隐形转换对其影响大,个人推荐使用第二种方式。
转载于:https://www.cnblogs.com/chenmou/p/4928569.html
关于小数四舍五入的方式相关推荐
- SQL 保留两位小数的实现方式
SQL 保留两位小数的实现方式 SQL中保留两位小数的方法有三种,(第2.3种方法类似): 1.使用ROUND()函数,ROUND返回一个数值,舍入到指定的长度或精度,使用示例: SELECT ROU ...
- javascript小数四舍五入
javascript小数四舍五入 1. function get() { var s = 22.127456 + ""; var str = s.substrin ...
- 数字取整或保留小数四舍五入的正确写法
[JS篇] 使用toFixed是错误的!请看下面例子: (0.05).toFixed(1) //0.1 (0.15).toFixed(1) //0.1 (0.25).toFixed(1) //0.3 ...
- 一个对于小数四舍五入的算法C语言版
一个对于小数四舍五入的简单算法 声明:对于解题,应该会有更为简便的算法,通过测试点即可,本算法可以提供一种参考,是一个通用的关于带有小数的四舍五入算法,本人学生党,手写不易,不喜勿喷,谢谢,也希望有各 ...
- Python-小数取整与小数四舍五入
Python-实现小数四舍五入 前言 1. round()函数 1.1 round(num)取整 1.2 round(num, 0)取值 1.2 round(num, n)小数四舍五入 2. int( ...
- BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)
一.简介 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更 ...
- JAVA零碎要点015---java BigDecimal常见操作_加减乘除操作_比较_取几位小数四舍五入_随时更新
技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 之前项目都很少用这个BigDecimal啊,最近这个项目对精度要求高,一个电视购物,广告拍摄,排挡 ...
- java保留两位小数 四种方式
方式一:四舍五入 double f = 111231.5585; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDeci ...
- python中int() 按照“四舍五入”的方式取整
使用 int() 将小数转换为整数,小数取整会采用比较暴力的截断方式,即向下取整. (注:5.5向上取整为6,向下取整为5) 正常情况下 int(5.5) 结果为5 如果想要让其按照人类的思维&quo ...
最新文章
- cytocape绘图(三)
- CLion报错解决:allocating an object of abstract class type--unimplemented pure virtual method
- 20年的人工智能设计总结:向产品中注入人工智能的指南
- 快速上手RaphaelJS-Instant RaphaelJS Starter翻译(一)
- java 气泡_Java气泡提示功能实现
- IE6Bug,外层container设置了overflow:auto,但是内层嵌套元素有position:relative的时候,显示错误。...
- Shiro实现认证_ini
- 判定Java源文件名称_JAVA
- 科大星云诗社动态20210412
- 环形队列出队的元素怎么输出出来_队列的知识讲解与基本实现(数据结构)
- 飞鸽传书2007绿色版 唯一官方下载地址
- 190910-ajax-请求小结
- awk分割列 输出时间相关
- windows功能正在搜索需要的文件_拥有高效的搜索工具Everything,可以丢开Windows的搜索功能了...
- 什么是Dao层、Entity层、Service层、Servlet层、Utils层?
- DRF实战1 - 环境搭建
- 2018年研究生数学建模优秀论文汇总
- echarts切换飞线图未清空_echarts做飞线图
- 考研日语线上笔记(七):十年真题完型精翻篇(2012-2021年)
- Kali linux虚拟机设置1920x1080分辨率
热门文章
- 【警告:操作失误造成硬盘毁灭性故障】
- 在IntelliJ IDEA中使用Spring Initializr创建项目以及Maven集成与配置
- HTML标签基础知识
- 浅谈git rebase和git checkout --ours(theirs)
- [转载]从受欢迎角度分析哪些美国主流网站使用了哪些JS框架
- 如何用计算机进行绘画,如何在电脑上画画
- 国内很少人知道的潜力币——MOBI
- 万字篇:2020Android面经,历时一个半月,斩获3个大厂offer(京东、新浪、滴滴)
- 传实缴注册资本要5亿,那些想上市的P2P平台顶得住吗?
- ADS解决xxxis an undefined model