python - 如何从浮点数 0.01 到 0.009
问题描述
我想制作一个代码,它需要一个类似的数字0.001
并返回我0.0009
,所以总是小数点后一位。但这也应该适用于例如0.005
,以便我得到0.004
有没有办法做到这一点?另外,我将数字作为字符串获取,因此有没有一种方法可以将其转换而无需处理科学表示法。
解决方案
如果您宁愿避免内部数字表示的问题,这里有一个冗长的方法。
number = "0.005"
# number = "0.1"
def return_a_lower_decimal(number):
last_digit = number[-1:]
num_digits = len(number)
decimal_filler = "0"*(num_digits-3)
if last_digit != "1":
new_number = "0." + decimal_filler + str(int(last_digit)-1)
else:
new_number = "0.0" + decimal_filler + "9"
return(new_number)
print(return_a_lower_decimal(number))
# assumptions - all numbers offered are strings of the form "0.000....d", where d is a single non-zero digit
推荐阅读
- java - 如何在spring中通过执行程序服务创建的线程中注入服务
- spring - 启用多个身份验证提供程序 Spring Boot 安全性
- reactjs - 当 CSS 使用 @import 时,Jest 失败
- ios - 在 react 应用程序上将 http 更改为 https 会使页面在 Safari 上的 iOS 上不断刷新
- sql - 当主键在sql中已知时,如何对特定单元格进行外键引用?
- xml - 从 xml 文件中获取属性值
- javascript - 在容器外单击时模态停止工作
- javascript - 如何从 JS 中的 JSON 键中获取值?
- python - 使用 Python:从 postgres DB 中提取表作为 CSV 文件并将当前日期列添加到 CSV 文件
- google-chrome - Chrome 72 在扩展的内容脚本中阻止 XHR