#include <sstream>
#include <iostream>
#include <iomanip> using namespace std; /**
* 四舍五入保留到n位小数
* @param number
* @param bits
* @return
*/
static double round_1(double number, unsigned int bits) {
stringstream ss;
ss << fixed << setprecision(bits) << number;
ss >> number;
return number;
} typedef long long LL; /**
* 四舍五入保留到n位小数
* @param number
* @param bits
* @return
*/
static double round_2(double number, unsigned int bits) {
LL integerPart = number;
number -= integerPart;
for (unsigned int i = 0; i < bits; ++i)
number *= 10;
number = (LL) (number + 0.5);
for (unsigned int i = 0; i < bits; ++i)
number /= 10;
return integerPart + number;
} int main() {
double pi = 3.1415926;
double r_pi1 = round_1(pi, 3);
double r_pi2 = round_2(pi, 4);
cout << "pi=" << pi << endl;
cout << "r_pi1=" << r_pi1 << endl;
cout << "r_pi2=" << r_pi2 << endl;
}

运行结果

[C++]C++四舍五入保留到n位小数的更多相关文章

  1. 19-6/24作业: 将一个double类型的小数,按照四舍五入保留两位小数

    ☞要求 将一个double类型的小数,按照四舍五入保留两位小数 ☞实现方式 1.获得一个double类型的小数 2.使用BigDecimal包的setScale进行操作 3.输出结果 ☞代码内容 pa ...

  2. sqlserver 数据保留固定位小数,四舍五入后保存

    在实际业务中遇到金额保留四舍五入后,保留两位小数的需求.但是原来的数据是保留的6位小数,所以需要转化一下.具体实现过程如下: EG:SELECT CAST ( ROUND(1965.12540,2) ...

  3. JS 实现四舍五入保留两位小数并且添加千位分隔符

    var a = "-123456789.078";a = (Math.round(a * 100) / 100).toFixed(2).toString().replace(/(\ ...

  4. 将double类型的值保留几位小数

    1.第一个参数(3.1415926)是要处理的数值.第二个参数(1)为要保留的几位小数.第三个参数是按照“四舍五入”还是"直接取这一位的值"(MidpointRounding.To ...

  5. java保留两位小数和js保留两位小数一致性研究

    一.java保留两位小数方式 public static void main(String[] args) { System.out.println("=======DecimalForma ...

  6. 小程序使用wxs解决wxml保留2位小数问题

    1.出现溢出表现 从图中可以看到数字超出了很长长度.代码里面是如下这样的.为什么在0.35出现?或者一些相成的计算出现? 而 0.34却不会.(wap.0834jl.com) 0.41 也会出现,好像 ...

  7. 小程序使用wxs 解决wxml保留2位小数问题

    1.出现溢出表现 从图中可以看到数字超出了很长长度.代码里面是如下这样的.为什么在0.35出现?或者一些相成的计算出现? 而 0.34却不会. 0.41 也会出现,好像是二进制运算出现结果. data ...

  8. sql 保留两位小数+四舍五入

    1. ROUND(该函数,只是负责四舍五入到两位小数,但是不负责截断 只留两位小数,例如下例:) 关于ROUND函数,我们平常理解为4舍5入,如: print ROUND(13.145, 2); 结果 ...

  9. Double 数据保留两位小数二:直接截取小数后面两位,不进行四舍五入

    package com; public class T2 { public static void main(String[] args) { System.out.println(calculate ...

随机推荐

  1. R语言学习记录(二)

    4.对象改值 4.1.就地改值 比如: vec <- c(0,0,0,0,0,0,0) vec[1]<-100 #vec向量的第一个值就变为100 ####对于数据框的改值的方法,如下面的 ...

  2. org.apache.hadoop.hive.ql.metadata.HiveException: Internal Error: cannot generate all output rows for a Partition解决

    自己在路径访问明细表开发时,写的sql如下 SELECT guid, sessionid, event['url'] as page, `timestamp` as ts, row_number() ...

  3. [学习总结]6、Android异步消息处理机制完全解析,带你从源码的角度彻底理解

    开始进入正题,我们都知道,Android UI是线程不安全的,如果在子线程中尝试进行UI操作,程序就有可能会崩溃.相信大家在日常的工作当中都会经常遇到这个问题,解决的方案应该也是早已烂熟于心,即创建一 ...

  4. Linux系统信息查看命令(ZZ)

    http://hi.baidu.com/thinkdifferent/blog/item/22f4a80161630e011d958384.html转自一个baidu师兄的博客,很好的一个总结,推荐下 ...

  5. golang vendor

    安装参考 https://blog.csdn.net/huwh_/article/details/77169858 Go 1.5引入了vendor文件夹,其对语言使用,go命令没有任何影响.若某个路径 ...

  6. File类及常用操作方法

    import java.io.File; import java.io.IOException; public class file { public static void main(String[ ...

  7. MySQL批量数据脚本示例

    一.建表 # 新建库 create database bigData; use bigData; #1 建表dept CREATE TABLE dept( id INT UNSIGNED PRIMAR ...

  8. spring中JDBCTemplate的简单应用

    package cn.itcast.datasource.jdbctemplate;import cn.itcast.utils.JDBCUtils;import org.springframewor ...

  9. WPF 引用第三方库的控件在设计器加上设计时数据和属性

    本文告诉大家如何在 VisualStudio 2022 的 XAML 设计器中,在设计时给第三方控件加上设计用的属性和数据的方法 此功能要求使用不低于 VisualStudio 2019 的 16.8 ...

  10. js--生成器总结

    前言 生成器gengrator是es6 新增的函数功能,它允许你定义一个包含自有迭代算法的函数, 同时它可以自动维护自己的状态. 本文来总结一下JavaScript 中生成器的相关知识点. 正文 1. ...