【发布时间】:2016-01-17 16:47:24
【问题描述】:
我正在创建一个复合字符串来记忆 id 和 sub id,如下所示:
1.1
1.2
1.3
这样:
main_id=1 #not related to sub_id
sub_id= 1 #or more by increment
item = str(main_id)+"."+str(sub_id))
当我将数字传递给字符串时,它运行良好。保持零。 示例:1 并使用数字 i 可以毫无问题地增加子字符串。 1.1 -> 1.2 -> 1.19 -> 1.20 - 如果我使用浮动,则不是 2.0。
如果我想返回像浮点数这样的数字类型,主要问题来了。
有什么方法可以返回数字类型(浮点型或其他类型)并保留字符串内容而不会丢失任何信息?
【问题讨论】:
-
我不确定你的意思。要将字符串
'1.20'转换为不是1.2的float吗? -
为什么需要它作为浮点数?
-
@RedVelvet 你不能保留零 - 1.20 与 1.200 完全相同
-
你不能那样做。
1.20在数学上等价于1.2。 -
你的两部分 id 不是一个单一的数字,所以不要试图把它当作一个。将其作为两个数字字段或单个字符串存储在数据库中。在需要时将字符串拆分为两个数字很容易。
标签: python string python-2.7 casting floating-point