精华内容
下载资源
问答
  • 做题遇到保留两位小数的题目,课本上写的又多又杂,网上查来的也是一堆内容需要筛选,눈_눈还是自己总结一下吧。  首先说C++代码 #include <iomanip&gt...

    做题遇到保留两位小数的题目,课本上写的又多又杂,网上查来的也是一堆内容需要筛选,눈_눈还是自己总结一下吧。


    首先说C++代码

    	#include <iomanip>  //不要忘了头文件
    
    	//第一种写法
    	cout<<setiosflags(ios::fixed)<<setprecision(2);
    
    	//第二种写法
    	cout.setf(ios::fixed);
    	cout<<setprecision(2);
    
    	//第三种写法
    	cout<<fixed<<setprecision(2);
    
    • 要保留几位小数setprecision(n)的括号里n就换成几。
    • 前两种写法是一样的,第三种是简化写的。
    • 上面的语句写一次就行了,对之后的数字都有效。

    然后说C的代码

    个人感觉c的输出比较简单粗暴。

    • %f 格式化输出浮点型数据,在%之后加上“.n”即可。例如:
    #include  <stdio.h>
    int main()
    {
    	float PI=3.1415926;
    	float R=5.3;
    	printf("面积 = %.2f\n", PI * R * R); //输出:面积 = 88.25
    	printf("面积 = %f\n", PI * R * R);   //输出:面积 = 88.247337
    	printf("面积 = %.8f\n", PI * R * R); //输出:面积 = 88.24733734
            return 0;
    }
    
    • %.2f\n中的“.2”即保留两位小数
    • //不设定保留几位小数,则默认六位

    如果单纯会用就行,看到这里就可以了!


    想深入理解的,继续看下面눈_눈

    1.首先解释一下“语句写一次就行了,对之后的数字都有效”。在s之后设置保留两位小数之后,重新声明另一个数,输出依旧显示两位小数。所以设置精度语句只需写一次就可以了。

    #include <iostream>
    #include <iomanip>   //设置必备的头文件
    using namespace std;
    int main()
    {
    	double s=12.345;
    	cout<<setiosflags(ios::fixed)<<setprecision(2);
    	cout<<s<<endl;   //输出12.35
    	
    	float pi=3.14159;
    	cout<<pi<<endl;   //输出3.14
    	
    	return 0;
    }
    

    2.setprecision(n)
       功能:控制浮点数显示的有效数字个数。

    图中可以看出,只用setprecision(n)是控制保留几位有效数字的。

    • 由8-9两行代码可以看出,也是只写一次就可以。
    • 8-10行可以看出,只是四舍五入修改了数字的显示方法,并不是修改原数字。从常识我们可以知道,如果12.345数字本身改变,那就是两位有效数字变为 12,那从两位有效数字改为四位有效数字会变为 12.00,而不是12.34。
    • 11-12行可以看出如果要保留的太多,是不会补上0的(往下看有补0的方法)。
    • 13行中可以看出,如果小数点前的位数多于你要保留位数,则会使用科学计数法。
      这里写图片描述

    2.5补充一小点showpoint
      这里写图片描述
      这是在尝试过程中发现的一个无聊操作,如果12.34保留两位有效数字,会显示12,但是你可以经过这个操作让它显示12. 哈哈哈哈哈哈哈注意有个“.”ヽ(•̀ω•́ )ゝ!

    	double s=12.345;
    	cout<<s<<endl;   //输出原数12.345
    	cout<<setprecision(2);
    	cout<<s<<endl;   //输出保留两位有效数字12
    	cout.setf(ios::showpoint);//或者写cout<<setiosflags(ios::showpoint);
    	cout<<s<<endl;   //输出保留两位有效数字外加一个小数点12.
    

    3.fixed
      setprecision(n)和fixed合用的话可以控制小数点后有几位。
      只要加上以下任意一个语句就可以。

    cout<<setiosflags(ios::fixed);
    cout.setf(ios::fixed);
    cout<<fixed;
    

    然后你会发现,如果你要保留的位数多于数字原来的小数,就会补上0。
    这里写图片描述


    _(:3 」∠) 我是萝莉安,梦想是做个程序媛……

    有CSDN账号的帮我点个赞或者评论一下吧,不愿意也不强求啦。
    你们点赞评论我才会得积分,才会升等级,等级高了才能给博客换好看的皮肤🥰🥰

    展开全文
  • Python保留指定位数的小数

    万次阅读 多人点赞 2019-09-06 10:22:51
    Python保留指定位数的小数1 ’%.2f’ %f 方法(推荐)2 format函数(推荐)3 round()函数4 不进行四舍五入,直接进行截断 1 ’%.2f’ %f 方法(推荐) f = 1.23456 print('%.4f' % f) print('%.3f' % f) print('%....

    1 ’%.2f’ %f 方法(推荐)

    f = 1.23456
    
    print('%.4f' % f)
    print('%.3f' % f)
    print('%.2f' % f)
    

    结果:
    1.2346
    1.235
    1.23
    这个方法会进行四舍五入

    2 format函数(推荐)

    print(format(1.23456, '.2f'))
    print(format(1.23456, '.3f'))
    print(format(1.23456, '.4f'))
    
    1.23
    1.235
    1.2346
    

    这个方法会进行四舍五入

    3 round()函数

    其实这个方法不推荐大家使用,查询资料发现里面的坑其实很多,python2和python3里面的坑还不太一样,在此简单描述一下python3对应的坑的情况。

    a = 1.23456
    b = 2.355
    c = 3.5
    d = 2.5
    print(round(a, 3))
    print(round(b, 2))
    print(round(c))
    print(round(d))
    
    1.235   # 1.23456最终向前进位了
    2.35    # 2.355居然没进位
    4       # 最终3.5居然变为4了
    2       # 最终2.5取值变为2
    

    (1)通过上面的函数,看着是不是很晕,感觉round(x,n)函数是否进位也没看出是啥规律
    (2)round(x,n)函数中,是否进位或四舍五入,取决于n位以及n+1位小数的值
    (3)只有当n+1位数字是5的时候,容易混淆,如果n为偶数,则n+1位数是5,则进位,例如round(1.23456,3)最终变为1.235
    (4)如果n为奇数,则n+1位是数5,那不进位,例如round(2.355,2),最终为2.35
    (5)如果n为0,即没有填写n的时候,最终结果与上面相反,即整数部分为偶数的时候,小数位5不进位,例如(round(2.5)变为2)。
    (6)整数部分为奇数的时候,小数位5进位。(round(3.5)变为4)
    ————————————————

    4 不进行四舍五入,直接进行截断

    (1)可以放大指定的倍数,然后取整,然后再除以指定的倍数。

    #保留三位小数截断 python3
    print(int(1.23456 * 1000) / 1000 )
    

    (2) 使用字符串截取,截取小数点后指定的位数

    原文链接:

    1. python中小数点后取2位(四舍五入)以及取2位(四舍五不入)的方法总结
    2. Python除法保留两位小数点(三种方法实现)
    展开全文
  • 1.printf("%3.0f",floatNum):不保留小数 说明:%3.0f表明待打印的浮点数(floatNum)至少占3个字符宽,且不带小数点和小数部分,整数部分至少占3个位宽; 注意:这里的3只代表整数部分至少占3位,舍弃小数点和...

    1.printf("%3.0f",floatNum):不保留小数

    说明:%3.0f表明待打印的浮点数(floatNum)至少占3个字符宽,且不带小数点和小数部分,整数部分至少占3个位宽;

    注意:这里的3只代表整数部分至少占3位,舍弃小数点和小数点后面的部分

    2.printf("%6.2f".floatNum):保留两位小数

    说明:%6.2f 表明待打印的数(floatNum)至少占6个字符宽度(包括两位小数和一个小数点),且小数点后面有2位小数,小数点占一位,所以整数部分至少占3位。

    注意:这里的6是待打印的数至少占据的字符宽度,包括两位小数(如果小数不够两位用0补位,例如100.1打印出来为100.10)和一个小数点,所以整数部分至少占3个字符宽度。

    3.单精度实数的有效位数一般为7位,输出6位小数,超出有效位数输出就是错误的。

    4.双精度数有效位数一般为16位,输出6位小数,超出有效位数可能截断或错误值。

    5.关于保留小数点后有效位数四舍五入原则

     

    #include<stdio.h>
    
    int main()
    {
    	
    	printf("%f\n", 100.00);
    	printf("%.0f\n", 100.00);
    	printf("\n");
    
    	printf("%f\n", 100.30);
    	printf("%.0f\n", 100.30);
    	printf("\n");
    
    	printf("%f\n", 100.50);
    	printf("%.0f\n", 100.50);
    	printf("\n");
    
    	printf("%f\n", 100.53);
    	printf("%.1f\n", 100.53);
    	printf("\n");
    
    	printf("%f\n", 100.55);
    	printf("%.1f\n", 100.55);
    	printf("\n");
    
    	printf("%f\n", 100.56);
    	printf("%.1f\n", 100.56);
    	printf("\n");
    
    	printf("%f\n", 100.563);
    	printf("%.2f\n", 100.563);
    	printf("\n");
    
    	printf("%f\n", 100.565);
    	printf("%.2f\n", 100.565);
    	printf("\n");
    
    	printf("%f\n", 100.566);
    	printf("%.2f\n", 100.566);
    	printf("\n");
    	return 0;
    }

    运行结果:

     

    注意:从图中可以看出,保留0位小数的时候,只要小数点后第一位>=5,就可以进位,但是保留1位或者2位等等,保留小数的后一位要>5才可以进位,否则就舍去。

    我是根据运行结果看到,有可以解释下的,请留言,谢谢!
     

    展开全文
  • Html部分: <div class="text primary-text"> <span>合计:</span> <span class="money">¥{{totalMoney | numFilter}}</span> </div>...// 情况一:保留...

    Html部分:

    <div class="text primary-text">
      <span>合计:</span>
      <span class="money">¥{{totalMoney | numFilter}}</span>
    </div>

    Js部分:(注意toFixed方法只能用于数值型数据)

    // 情况一:保留小数点后两位的过滤器,尾数四舍五入

    filters: {
      numFilter (value) {
        let realVal = ''
        if (!isNaN(value) && value!== '') {
          // 截取当前数据到小数点后两位
          realVal = parseFloat(value).toFixed(2)
        } else {
          realVal = '--'
        }
        return realVal
      }
    }

    // 情况二:保留小数点后两位的过滤器,尾数不四舍五入(此处存在一个问题,当源数据小数点第三位为数字9,并且第四位会导致第三位进位的情况下,得到的最终数据仍然不是截取 eg: 3.1798 截取两位会变成3.18)

    filters: {
      numFilter (value) {
        let realVal = ''
        if (!isNaN(value) && value!== '') {
          // 截取当前数据到小数点后三位
          let tempVal = parseFloat(value).toFixed(3)
          realVal = tempVal.substring(0, tempVal.length - 1)
        } else {
          realVal = '--'
        }
        return realVal
      }
    }

      // 情况二:优化成如下方式,自行封装成一个公共函数,即用即调 

    filters: {
      numFilter (value) {
        cutOutNum(value) 
      }
    }
    
    -----  将此函数封装在外部js中  -----
    
    /**
     * 对源数据截取decimals位小数,不进行四舍五入
     * @param {*} num 源数据
     * @param {*} decimals 保留的小数位数
     */
    export const cutOutNum = (num, decimals) => {
      if (isNaN(num) || (!num && num !== 0)) {
        return '--'
      }
      // 默认为保留的小数点后两位
      let dec = decimals ? decimals : 2
      let tempNum = Number(num)
      let pointIndex = String(tempNum).indexOf('.') + 1 // 获取小数点的位置 + 1
      let pointCount = pointIndex ? String(tempNum).length - pointIndex : 0 // 获取小数点后的个数(需要保证有小数位)
      // 源数据为整数或者小数点后面小于decimals位的作补零处理
      if (pointIndex === 0 || pointCount <= dec) {
        let tempNumA = tempNum
        if (pointIndex === 0) {
          tempNumA = `${tempNumA}.`
          for (let index = 0; index < dec - pointCount; index++) {
            tempNumA = `${tempNumA}0`
          }
        } else {
          for (let index = 0; index < dec - pointCount; index++) {
            tempNumA = `${tempNumA}0`
          }
        }
        return tempNumA
      }
      let realVal = ''
      // 截取当前数据到小数点后decimals位
      realVal = `${String(tempNum).split('.')[0]}.${String(tempNum)
        .split('.')[1]
        .substring(0, dec)}`
      // 判断截取之后数据的数值是否为0
      if (realVal == 0) {
        realVal = 0
      }
      return realVal
    }

                                                    

    展开全文
  • BigDecimal 保留两位小数

    万次阅读 2019-01-11 14:03:31
    java保留两位小数5种方法 四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public class format { double f = 111231.5585; public void m1() {...
  • Python中保留两位小数的几种方法

    万次阅读 多人点赞 2018-12-14 21:43:57
    保留两位小数,并做四舍五入处理 方法一: 使用字符串格式化 &gt;&gt;&gt; a = 12.345 &gt;&gt;&gt; print("%.2f" % a) 12.35 &gt;&gt;&gt; 方法二: 使用round内置...
  • SQL查询去除汉字保留数字 保留小数

    千次阅读 2017-09-15 12:11:02
    SQL查询去除汉字保留数字 保留小数
  • R语言设置数值输出,包括保留至小数点后几位和保留有效数字。
  • 大家有没有想过一个问题,为什么我们通常会使用四舍五入的方法保留小数,而不是采用其他方式?其实呀,四舍五入是一种精确度的保留法,与其他方法本质相同。但特殊之处在于,采用四舍五入,能使被保留部分的与实际值...
  • numpy保留小数位数

    千次阅读 2020-09-25 14:21:57
    import numpy as np n=2 data= numpy.around(a, n) 保留2位小数,n为3,则保留3位小数。 默认保留整数
  • C++输出保留两位有效数字和保留小数点后两位

    万次阅读 多人点赞 2019-05-06 20:08:41
    C++输出保留两位有效数字和保留小数点后两位 #include <iomanip> //保留小数点后2位 cout << setiosflags(ios::fixed) << setprecision(2) << val << endl; //保留2位有效数字 ...
  • Sql 保留两位小数

    万次阅读 2019-05-16 17:51:25
    使用 Round() 函数,如 Round(number,2) ,其中参数2表示保留两位有效数字,但是只负责四舍五入到两位小数,但是不负责截断 例如 ROUND(3.141591653, 2) 得到3.140000000; 使用 Convert(decimal(10,2),number) ...
  • //保留2位小数,如:2,会在2后面补上00.即2.00function toDecimal2(x) { var f = Math.round(x * 100) / 100; var s = f.toString(); var rs = s.indexOf('.'); if (rs ) { rs = s.length; s +=
  • scala 保留小数

    千次阅读 2017-06-15 10:55:20
    scala 保留小数
  • Win10 C盘 系统和保留 占用空间 非常大

    万次阅读 热门讨论 2019-01-10 09:12:34
    Win10 C盘 系统和保留 占用空间 非常大 今天在写代码的时候,突然发现Redis起不来了,一看原因,是因为C盘空间不足。然后,我看了下C盘,发现。。。 一个叫系统和保留的东西,居然占了110G的空间。难怪Redis起不来。...
  • 比如保留小数点后四位的操作。 大家用的最多的代码应该就是使用 round() 函数进行保留,具体做法我们以一个数字为例:12.345678。我们想保留小数点后四位可以进行如下操作。 round 运行下述代码,即可得到我们想要...
  • ip保留地址

    万次阅读 2018-06-15 14:42:22
    127.X.X.X是保留地址,用做循环测试用的。B类:172.16.0.0---172.31.255.255是私有地址。169.254.X.X是保留地址。如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器。就会得到其中一个IP。c...
  • JavaScript的关键字和保留字介绍

    万次阅读 2019-05-03 18:56:02
    JavaScript一共有俩种特殊的单词集体们,分别是关键字、保留字。 它们是不可以用作变量命名和函数命名的。下面我们一起看一下都有哪些。 ECMAScript关键字: break case catch continue default delete do else ...
  • c语言输出保留任意小数

    万次阅读 多人点赞 2019-03-23 14:27:59
    printf()函数默认保留6位小数 printf("%.nlf",value); //表示保留n位小数 printf("%.*f",n,value); // n表示小数的位数,value表示结果 printf("%m.nlf",value); //表示控制宽度为m,保留n为小数,靠右对齐 ...
  • 保留IP地址

    万次阅读 2017-07-25 10:03:20
    关于保留IP 下面是从维基百科上摘录的保留IP地址段,共计16个(最后两个段一般会合并,也可以认为是15个)。 原文地址:https://en.wikipedia.org/wiki/Reserved_IP_addresses 保留地址段 地址...
  • Linux yum 保留安装包

    千次阅读 2017-05-15 11:11:43
    文章来源:Linux之保留yum安装软件后的RPM包 yum安装软件很方便,但是下载下来的rpm包在安装后默认会被删除掉: 如果希望保留yum安装的软件包该如何做呢? 设置方法: 将/etc/yum.conf里对应的keepcache参数改...
  • 【mysql】mysql删除重复记录并且只保留一条

    万次阅读 多人点赞 2018-09-03 21:10:13
    最近在做题库系统,由于在题库中添加了重复的试题,所以需要查询出重复的试题,并且删除掉重复的试题只保留其中1条,以保证考试的时候抽不到重复的题。 首先写了一个小的例子: 一、单个字段的操作 这是...
  • JavaScript保留关键字

    千次阅读 2017-08-07 17:02:33
    Javascript 的保留关键字不可以用作变量、标签或者函数名。有些保留关键字是作为 Javascript 以后扩展使用。 abstract arguments boolean break byte case catch char class* const
  • Oracle基础之保留字和关键字

    千次阅读 2020-01-11 17:13:56
    在Oracle之中,有分为保留字和关键字,所谓关键字就是Oracle中有实际意义的,而保留字(比如DESC、ORDER等等)是Oracle中不能随便使用的,比如不能随便用来做表的列名,当然关键字(比如KEY等等)也是不推荐的,不过使用...
  • python保留

    千次阅读 2018-07-21 15:11:33
    此篇转自微博:遂越净郝的Python保留字详解 python的保留字总览 ​ ​1.False if q=False:#Flase 2.None 表示该值是一个空对象,空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义...
  • Python四舍五入与保留小数位数(精确舍入与保留

    千次阅读 多人点赞 2020-03-22 16:53:28
    本文深入讲解Python3中 四舍五入、 截断保留保留小数位数、取整,帮助Python初学者排坑! 总结不易,转载请标明出处! 文章目录0. 前言(吐槽)1. 四舍五入(精确)1.1 四舍五入并保留x位小数——用decimal模块中...
  • 保留n位小数小数(默认保留两位小数)
  • python——保留

    万次阅读 多人点赞 2018-03-24 15:35:48
    Python中的标识符是用于识别变量、函数、类、模块以及其他对象的名字,标识符可以包含字母、数字及下划线(_),但是必须以一个非数字字符开始。字母仅仅包括ISO-Latin字符集中的A–Z...下面的表列出了所有的保留字符...
  • Java除法运算(保留小数)

    万次阅读 多人点赞 2018-04-17 14:29:03
    编程的人都知道,java中的“/”、“%”运算,其中前者为取整,... * TODO 除法运算,保留小数 * @author 袁忠明 * @date 2018-4-17下午2:24:48 * @param a 被除数 * @param b 除数 * @return 商 */ pu...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 225,872
精华内容 90,348
关键字:

保留