Python去除小数点后面多余的0
最近做项目遇到一个问题,数据全部要求deciaml格式,如果是6位小数就导致1.00000这种情况的存在,百度了很多,这里吐槽一下百度真的不行。最后查到了一个方法,这里记录一下
举个例子 数字 100.2000
第一次 这么使用 Decimal(‘100.2000’).normalize() 得到的结果 100.2
是想要的结果。
可是 normalize()有个问题,如果是100.00000 同样
Decimal(‘100.0000’).normalize()得到的结果就是1E+2
那么这种情况怎么办呢,就是换个方法 使用 “ to_integral
”,像这样:Decimal(‘100.000’).to_integral() 得到结果是100,这才是想要的结果。
那怎么才能更好的两种兼容呢,可以先做一个判断 在去除多余0之后 是否相等:
>>>Decimal('100.2000') == Decimal('100.2000').to_integral()
False
>>>Decimal('100.0000') == Decimal('100.0000').to_integral()
True
根据这个判断 可以自己写一个function
def remove_exponent(num):return num.to_integral()
if num == num.to_integral() else num.normalize()
最后调用这个function 这里同样举上面几个例子得到的结果
>>> remove_exponent(Decimal('100.2000'))
Decimal('100.2')
>>> remove_exponent(Decimal('100.0000'))
Decimal('100')
>>> remove_exponent(Decimal('0.2000'))
Decimal('0.2')
这里输出是Decimal 类型 是因为 调用的方法里面就是这个类型的。可以直接当float用,如果想要换成string类型
就在用str() 包一下上面得到的结果就行啦,这个就不解释了
这样就解决标题所说的去除小数点后面多余的0的问题了
Python去除小数点后面多余的0相关推荐
- sqlserver55555_sqlserver把小数点后面多余的0去掉
Sql中想把小数点后多余的0去掉,怎么办? select 5000/10000.0 --想变成0.5 select 5500/10000.0 --想变成0.55 select 5550/10000.0 ...
- sqlserver把小数点后面多余的0去掉
Sql中想把小数点后多余的0去掉,怎么办? select 5000/10000.0 --想变成0.5 select 5500/10000.0 --想变成0.55 select 5550/10000.0 ...
- Java——去掉小数点后面多余的0
当小数点后位数过多,多余的0没有实际意义,根据业务需求需要去掉多余的0.后端存储浮点型数据一般会用到Bigdecimal 类型,可以调用相关方法去掉小数后多余0,然后转为string. 例如: pub ...
- 如何去除小数点后面多余的0_704密封胶如何使用?怎么样去除多余的704密封胶?...
与其它胶粘剂差不多,704密封胶有着既定的使用步骤.按照正确工艺去操作,均匀涂抹之后,快速固化并发挥更多性能.对于用户们来说,不能盲目去操作. 如何正确使用704密封胶? 1.可以使用胶枪去操作,打开 ...
- 去除小数点后的.或多余的0(多个方法参考)
去除小数点后面多余的0,这个小需求大家平时肯定也会遇到,总结了以下两种方法:(推荐方法二) 一.方法一(通过正则匹配去除) /*** 正则去除.或多余的0** @param num 需要去除的参数*/ ...
- java向上取整去掉末尾的0_BigDecimal去除末尾多余的0
Java有自带的 stripTrailingZeros() 方法用于去除末尾多余的0 BigDecimal num = new BigDecimal("100.000"); Big ...
- python中文字符串多余空格_python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解...
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解 在pdf转为文本的时候,经常会多出空格,影响数据观感,因此需要去掉文本中多余的空格,而文本中的英文之间的正常空格需要保留,输入 ...
- python正则去掉重复单词_python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解 | 学步园...
在pdf转为文本的时候,经常会多出空格,影响数据观感,因此需要去掉文本中多余的空格,而文本中的英文之间的正常空格需要保留,输入输出如下: input:我今天 赚了 10 个亿,老百姓very happ ...
- 数值保留小数点两位,但同时去除小数点后多余0 的 javascript、java实现
2019独角兽企业重金招聘Python工程师标准>>> 今天碰到一个需求.关于小数点的处理,看起来非常简单的事情,却花了一定时间做了一些试验.最后简单总结一下,以便备忘. 需求简化一 ...
- BigDecimal去除末尾多余的0
Java有自带的 stripTrailingZeros() 方法用于去除末尾多余的0 BigDecimal num = new BigDecimal("100.000");BigD ...
最新文章
- MFC中显示 .bmp格式的位图
- 【Karma】多环境自动测试框架 -- 基础教程
- android arcgis多变形边框颜色,ArcGIS制图技巧—边框的选择
- html中div的居中
- oracle连接ORA-01017、ORA-12640
- 中国地震数据集-包含经纬度及深度(2000-2020年)
- c++ overload
- 福大2021计算机考研科目,2021计算机考研专业课发生改变的院校情况汇总
- C/C++学习路线总结与分享
- Android 热更新Robust 浅析
- [更新ing]sklearn(十六):Nearest Neighbors *
- 人工智能讲师AI讲师叶梓谈人工智能的应用人工智能项目咨询应用案例-8
- Win10系统电脑鼠标左键不灵敏、有延迟怎么办
- (图)Eee PC 904 HD闪亮登场!
- android设备判断是否支持NFC功能
- MySQL数据库之数据库约束,一文带你了解
- python爬虫登录微博_为爬虫获取登录cookies: 使用Charles和requests模拟微博登录
- 利用百度地图API制作房产酒店地图
- android按钮背景颜色函数,Android按钮背景颜色(Android button background color)
- C语言编写生辰八字计算器