给前端返回更为合乎情理的数值的小方法

给前端返回更为合乎情理的数值的小方法

本篇内容是本人在业务需求中对数字的格式化的一点小思考小尝试。
数字格式化是数据处理中必然面临的常规问题,如精度处理,百分数处理等,这样便于进一步直观比较,进行业务分析等操作。虽然语言本身有很多强大和灵活的数字格式化函数可供使用,但是仍难以让刁钻百变的数据乖乖摆如你所愿的造型,遂需码农稍作尝试去写那么个刚刚好的小方法。

需求

你拿到的数据VS你想要的数据(“_”表示空格)

拿到的想要的
2.123002.12
“2.1200_”2.12
2.12.1
2.00002
“2.0000”2

分析

可以看到主要为两种数值,一种是整型数据,另一种浮点型数据,算法主要就是根据两种情况,用int()来转化数据比较。但是有的数值,有的是字符串,还有一个更恶心的是字符串中带了空格,这也导致我第一次测试报错。

实现代码


 def rem_zero(self, tdata=0):
        tmp_data = float(tdata)
        s_result = [float("%.2f"%(tmp_data), int(tmp_data)][int(tmp_data) == tmp_data]
        return s_result

写的过程碰到的小问题

ValueError: invalid literal for int() with base 10
ValueError: invalid literal for int() with base 10
该截图为问题重现,测试过程这个报错原因是这个字符串既不是一个整数,也不是一个浮点数,其带有空格,数据中出现的奇怪格式的数据还是要注意的。

写在最后

很久没有写博客了,希望以后多点思考,多点总结,与君共勉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值