精华内容
下载资源
问答
  • // BigDecimal.ROUND_HALF_UP表示四舍五入,setScale(2)表示保留两位小数。; BigDecimal bd = new BigDecimal(a); Double tem = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); // 方法二 // 将数...
    // BigDecimal.ROUND_HALF_UP表示四舍五入,setScale(2)表示保留两位小数。;
    BigDecimal bd = new BigDecimal(a);
    		Double tem = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
    
    //		方法二
    //        将数乘以100后四舍五入,再除以100.0
    //		java中Math.round()是四舍五入取整,并不能设置保留几位小数。
    //		  3是半径 因为保留小数后两位,所以先乘以100后的值四舍五入,最后在除以100,因为四舍五入后的值是int,
    //		  100常量也是int,所以最后结果是int,要想得到小数,先把前一位变成double类型
    System.out.println((double)Math.round(Math.PI * 3 * 3 * 100) / 100);
    
    展开全文
  • 在数据整理时,我们通常需要把数据设置为保留小数点后两位,特别是数据列内容为“单价”时。将原始数据设置为保留小数点后两位的方法有两种。方法一,在excel的功能区和功能区中设置。如上图,选中数据,点红色箭头...
    在数据整理时,我们通常需要把数据设置为保留小数点后两位,特别是数据列内容为“单价”时。将原始数据设置为保留小数点后两位的方法有两种。方法一,在excel的功能区和功能区中设置。

    9d2cb26346a5f6fd82468049a3cc7ffd.png

    如上图,选中数据,点红色箭头所指的命令,会减少小数点后的数据位数,如选中数据是:0.236,点箭头一次后,则会变成0.24。对,没错,它还会自己显示四舍五入后的结果,但数据大小是不没有变化的,变化的只是它的呈现方式。点蓝色箭头所指的命令,会增加小数点后数字位数。如选中上面的数据显示是:0.24,点箭头一次后,则会变成0.236方法二,调出“单元格格式”框。点击下图的标识红色框的三个箭头,都可以调出“单元格格式”框。

    204f23c63151f153cdfd3f8c34c9c928.png

    一般需要对数据做更多格式设置时,我都会调用“单元格格式框”来设置。比如使用千位分隔符。具体设置结果,以及操作方式见下图。

    dc9d910f3a9da4298ad55673a5e0423d.png

    以上就是如何让数据保留小数点后两位的方法,希望对你有帮助。若这个技能对你有帮助,欢迎转发分享哦e610ec937c3b358aa4829b556afe2ff8.png06f0c497000e189914f4323cbbc0ad31.png
    展开全文
  • 在这里以精确两位的方式进行取舍,也就是判断小数点后第三位的值,如果汪数部分第三位上的值大于1,那么向前一位进1,否则的话将第三舍掉。如下图:首先,对于取整时,对于上述的数字,设计时那么分水岭就是0.2与0.8...

    一、一舍二入取舍的取舍方式

    在实际的工作中,四舍五入是经常会被用到的取舍方式,但是在一些特定的环境下,对于其他的一些取舍方式就会被用到。其中一种就是一舍二入的取舍方式。

    在这里以精确两位的方式进行取舍,也就是判断小数点后第三位的值,如果汪数部分第三位上的值大于1,那么向前一位进1,否则的话将第三舍掉。如下图:

    420897a53485ed87143e5f03f9c1ad85.png

    首先,对于取整时,对于上述的数字,设计时那么分水岭就是0.2与0.8,就是对正数加止0.8与对负数减去0.8,然后利用TRUNC函数进行截取。如果是对上图中的数字利用一舍下入的方法进行取舍时可以采用的公式为:

    =SIGN(C2)*TRUNC(ABS(C2)+0.8)

    如上图中的D2单元格。如C2单元格中这10.213,是正数,给此函数加上0.8以后,就变成了11.013,然后再截取整数部分,即可获得结果为11。SIGN函数的功能是如果目标值是负数,那么返回1,如果为0,返回0,如果是负数,那么返回-1。所以可以利用这一特点来获取对象是正数还是负数。

    那么我们接着讨论保留两位小数的时候,我们就需要为这个数字扩大1000倍,进行舍入后再缩小100倍。那么C2单元格的公式可以写成:

    =SIGN(C2)*(TRUNC(ABS(C2*100)+0.8))/100

    如果保留三位有效数字的话那么扩大与缩小的倍数就是1000,以此类推。

    注意:根据以上的方法与概念,我们也可以设计二舍三入,三舍四入以及其他的一些舍入的方法,最重要的是就是要注意分水领,这才是解题的突破口。

    二、四舍六入五单双的取舍方式

    为了避免四舍五入造成的偏差大的情况,在一些特殊的行业会采用的四舍六入五单双的舍入方法对数字进行修约。四舍六入五单双也叫四舍六入五成双,或者四舍六入五留双,有些时候也叫四舍六入、奇进偶舍。

    具体有以下几个规则:

     要保留的数值后第一位不是5,直接四舍六入;

     要保留的数值后第一位是5且5前面是偶数,不进位;

     要保留的数值后第一位是5且5前面是奇数,进位。

    在Excel函数中,没有一种函数能直接进行此种方式的修约,在大多的情况下都是根据需要进行VBA编程进行处理的。这里以下图给的修约数字进行设计该种舍入方式的公式。要求对下列的数字保留一位小数进行四舍六入五单双的舍入。

    591eb325c2c239e1588f21b27e339b64.png

    B3单元格的公式为:

    =ROUND(B2,0)-(ABS(TRUNC(B2/2)*2-B2)=0.5)*SIGN(B2)

    B6单元格的公式为:

    =ROUND(B5,1)-(ABS(TRUNC(B5*5)*2-B5*10)=0.5)*SIGN(B5)/10

    B9单元格的公式为:

    =ROUND(B8,2)-(ABS(TRUNC(B8*50)*2-B8*100)=0.5)*SIGN(B8)/100

    B12单元格的公式:

    =ROUND(B11,-1)-(ABS(TRUNC(B11/20)*2-B11/10)=0.5)*SIGN(B11)*10

    从上面前三个公式中我们就可以总结出在小数点位数后修约的思路过程:

    以保留一位小数为例,我们是对保留的位数后的数字进行判断,当要保留位数上的数字为5时且5前为偶数时,先给这个数字乘以5后修剪,再乘以2,然后再减去该数字乘以10,就对该数字完成了修约。例如:2.65保留一位小数,2.65*5=13.25,然后截取整数部分TRUNC(13.25*2)=26,然后26-26.5取绝对值后为0.5,等于0.5,则为TRUE,TRUE=1,然后获取正负号,再对这个数进行进位,那么就为2.7-1/10=2.6.

    同理,我们就可以得出其他的要保留的位数的方法,对于上述的情况主要判断如果保留数字后面为5且5前的数字的奇偶性是十分关键的一步,一般是进行构造,对于思维的逻辑性与推理性是一定考验。

    代码:

    各位小伙伴们觉得以上的舍入方法在使用的时候有一定的难度,可以直接使用下同的VBA代码,这段定码定义了一个自定义函数cround,大家可以将下面的代码写入到VBE中,然后在工作有里直接输入函数名称即可,别忘了保存成xlsm格式。

    Function cround(c, d%)' 本代码实现了按四舍六入五留双的规则,保留指定位数的有效数字。' 本代码的思路是将原始数据分为大于或小于1的两种情况,再分别进行处理。' 小于1的处理代码结果是完美的,代码也简明易懂。' 原始数据大于1的话,先将它除以适宜的倍数,使其刚好小于1,再借助小于1的处理代码进行处理。Dim p As Integercc = CDec(c) '转换为实数,如无此语句,在引用单元格时会出错,如:cround(A1/A2,1)If cc And     cc1 = Split(cc, ".")(1) '按“.”对字符串进行分割,取第二个字符串,如:0.0035,分割为0和0035,这里取0035       p = Len(cc1) - Len(cc1 * 1)  'cc*1后转换为数字,如:0035*1=35,p即为小数点后“0”的个数(非零数字后的零不算)。    cround = VBA.Round(cc, d + p)   '使用VBA中的round函数(即四舍六入五留双)进行修约Else    cc1 = Split(cc, ".")(0) * 1 '按“.”对字符串进行分割,取第一个字符串,如:10.0035,分割为10和0035,这里取10    m = Len(cc1)    '记录整数部分的字符长度。    cc2 = cc / (10 ^ m)  '将原大于1的原始数据除以倍数值,转换成刚好小于1的数据,然后用前面小于1的代码进行处理。    cc3 = Split(cc2, ".")(1) '这里的代码实际上同小于1的处理代码。    p = Len(cc3) - Len(cc3 * 1)    cround = VBA.Round(cc2, d + p) * (10 ^ m)   '将结果乘以原来的倍数值,返回原始的数位。End IfEnd Function

    注:以上代码源自网络,如有不妥,请后台告知删除。

    a6c6a9017ca6d8770bb340c3d620a828.png

    baddc76d02d46b492e31e69bb36a51ce.png

    30a2550ad7c81e2ab8b5d52a18722f7d.png

    2af05c44aa7d48ae72891c9dec2cb359.png

    展开全文
  • 如何设置python的小数点保留位数 如 a=1.234567 a=('%.2f' % a) print(a) 即保留小数点后两位 同理若将a=(’%.2f’ % a)更换为a=(’%.4f’ % a) 即保留小数点后四位。以此类推。

    如何设置python的小数点保留位数

    a=1.234567
    a=('%.2f' % a)
    print(a)
    

    即保留小数点后两位
    同理若将a=(’%.2f’ % a)更换为a=(’%.4f’ % a)
    即保留小数点后四位。以此类推。

    展开全文
  • 使用DecimalFormat方法先设置一个格式,然后在输出时对double使用,实际上没有改变double的值,使用的四舍五入的方式。... // 方法一:输出时对double进行格式化保留两位小数 四舍五入 DecimalFo...
  • 首先思路要清晰,如何控制只输入两位小数 1、我们可以把小数点后面的数字长度用maxlength来控制 2、要做到上一步,可以通过split(’.’)这个方法,以·来将字符串分割成数组 3、拿到数组的第二个元素,即index为1的...
  • 种方法还保留整数的指定小数位数,即保留小数点后的所有零;后一种方法(使用舍入函数)不保留小数,仅保留小数点(如果不是小数点后的所有零)。如果单元格中只有0,则可以将0显示为短划线或空白(即不显示0)。此外...
  • 小数点精度的控制我的作业中出现了对于小数点精度的控制,要求先要控制精度输出,比如说小数点后必须为两位,然后再取消这种控制 本文即针对该过程中我遇到的问题进行总结和给出解决方法。首先是针对C++情况下的...
  •  在excel表格中,一些小数数据都会保留小数点后两位,但是应该怎么设置呢?下面随小编一起来看看吧。  excel设置保留两位小数的步骤  首先我们打开excel,输入一个两位小数以上的数字。  选中我们所填数字的...
  • 现在很多的批量打印工作,在实现可变内容批量打印时,基本都支持Excel导入来实现批量打印,不知道有没有用户遇到过下面这种情况,就是Excel中我们设置的是保留两位小数,但是导入软件后,如果小数点后是1位数,那么...
  • 前两次做机房的时候,没有考虑这么多,只是把文本框限制成只允许输入数字,因为我们刚开始写文档的时候,把关于金额的数据类型都设置成了decimal(6,2)有效长度为六位,小数点后两位,所以就要考虑小数点的问题了,...
  • 现实工作中,Excel表格中的数值通常是以设置小数点位数来进行取值,但结果是按四舍五入进行取舍的(局限性很大),如果将小数点后数值直接进位或者直接舍去(不进行四舍五入),该如何操作呢?需要用到今天要讲的个...
  • 如何查看一条sql执行了多长时间以及每个步骤花费的...3.设置profiles,mysql默认只显示sql执行时间小数点后两位,该设置可以提高时间精度set profiling = 1;4.执行sqlselect * from abc;5.查看sql执行时间show profi...
  • 最近工作中遇到这样的问题,我用funsionCharts画图,是双Y轴线的,设置是最多保留小数点后两位数,但显示成如图所示的,不知道如何解决这个问题?看到的大侠们给些建议,多谢!  ...
  • 100多epoch的时候loss就降到小数点后两位了。请问我这个超参如何设置合适,目前sgd、lr=0.0001、momentum=0.9、weight_decay=le-4、cosineLR。请问你可以给我点意见吗,谢谢。</p><p>该提问...
  • 计算器-源码

    2021-03-04 06:14:31
    四舍五入到小数点后 DEL按钮(一次删除一个符号)和AC按钮(清除所有显示和变量) 十进制按钮用于浮点运算 上次操作的历史 除以零时,可以选择创建到另一个维度的门户 键盘支持 计算器一次评估一对数字 禁止按...
  • 按照给定的位数,截断小数点后的数字 单元格数字提取问题 以关键字提取名称 如何把文本中的前几个字符去除 对一列中的文字统一去掉最后一个字 讨如何去掉单元格中的第一个数字? 论一下取最后一个单词的方法 如何...
  • EXCEL函数公式集

    热门讨论 2010-03-16 03:26:38
    按照给定的位数,截断小数点后的数字 单元格数字提取问题 以关键字提取名称 如何把文本中的前几个字符去除 对一列中的文字统一去掉最后一个字 讨如何去掉单元格中的第一个数字? 论一下取最后一个单词的方法 如何...
  • C#编程经验技巧宝典

    热门讨论 2008-06-01 08:59:33
    122 <br>0205 如何使用正则表达式验证两位小数 122 <br>0206 如何使用正则表达式验证一年的12个月份 123 <br>0207 如何使用正则表达式验证一个月的31天 123 <br>0208 如何使用正则表达式验证数字...
  • 8. 得到一浮点数小数点后4位,如何写以函数截取为两位 9. 整型转字符? 10. 显示数据库的记录,点击哪个标题栏,就按照哪个标题排序 11. 制作两个按钮 12. 用什么sql语句将数据库中的一条记录,复制为两条? 13. 有兩個...
  • 1.2.3 如何实现两金额数据相加(最多小数点两位) 1.2.4 关于并行计算的一些基础开放问题 1.2.5 请计算XILINX公司VU9P芯片的算力相当于多少TOPS,给出计算过程与公式 1.2.6 一颗现代处理器,每秒大概可以执行...
  • 设置好制表位后,把光标放在公式的前面,按一下Tab键,这样就在公式的前面插入了一个制表符,此时公式以居中制表为中心居中对齐,再把光标移到公式和左括号之间,再按Tab键插入一个制表符,编号就跑到行末了。...
  • 实例37:如何使括号内的文字不显示(显示为白色) 24 实例38:巧制试卷填空题 25 实例39:化学分子式的处理 26 实例40:英文直引号替换为中文引号 27 实例41:批量替换不匹配的双引号 27 实例42:处理奇偶数段落 27 ...
  • 《管家婆》Windows版如何设置表头、表格打印行数等? #10.在《管家婆》Windows的“打印预览”中点击“表头”图标,选择“打印选项设置”,修改弹出窗口中的配置保存退出。 $11.《管家婆》Windows版怎样打印过帐...
  • jsp编程技巧集锦

    2008-03-19 17:23:17
    得到一浮点数小数点后4位,如何写以函数截取为两位 9. 整型转字符? 10. 显示数据库的记录,点击哪个标题栏,就按照哪个标题排序 11. 制作两个按钮 12. 用什么sql语句将数据库中的一条记录,复制为两条?...
  • 探测器信息,能够添加号,可自由选择探测器型号,气体种类,气体符号,高报值,低报值,缓冲值,清零值,是否启用,报警声音,背景地图,存储周期,数值换算小数点位数,报警延时时间,报警的类型(HH,LL,HL)等。...
  • 阅读工具 开卷有益

    2012-03-31 14:07:03
    位置:小说设置|阅读设置|进入全屏显示阅读内容 11.增加:点击标题栏文件名,根据文件格式智能弹出最常用功能项。(如CHM格式弹出CHM章节列表) 12.增加:CHM文件上/下一章节的支持 优化 1. 加快CHM读取速度...

空空如也

空空如也

1 2 3
收藏数 47
精华内容 18
关键字:

如何设置小数点后两位